2010-12-15 43 views
1

我想發送到Web服務的請求,並讀取響應。 到目前爲止,我使用JAXB從XSD生成Java類,我假設我將用它來讀取響應?初學者Web服務問題

什麼對我來說是實現請求的最佳方式?我使用的Web服務是一個servlet,需要一個POST。我唯一的選擇是使用HttpURLConnection發送一個SOAP請求的字符串嗎?

+1

它是什麼樣的Webservice?它是REST服務還是SOAP?你給了,這可能是一個SOAP服務的提示,如果是這樣的話,那麼你可以從WSDL中生成例如與軸2客戶端 – gregor 2010-12-15 19:42:13

+0

你還可以檢查出地鐵(http://metro.java.net /)項目。 – 2010-12-15 20:35:38

+0

是的,一個SOAP請求。沒有WSDL,所以我唯一的選擇是使用HttpURLConnection? – bmw0128 2010-12-15 21:29:55

回答

0

如果你說你在對方的控制 - 或者其實你是黨的,因爲你只想兩個JVM之間做遠程處理,然後用另一種遠程訪問解決方案。根據你的需要,你可以使用像protobuf,粗麻布或類似兵馬俑的東西。這些框架使用起來更容易,效率也更高。

1

我建議Apache CXF訪問。您所需要的不僅僅是裸體JAX-B,而是一個JAX-WS + JAX-B服務,它將爲您處理所有這些問題。特別是,您可以在沒有WSDL時使用JAX-WS提供程序創建soap端點。

+0

我建議你不要使用CXF,因爲該工具鼓勵你創建Java接口,然後生成WSDL的和XSD的基於這些接口。最大的問題是,當使用Web服務時,那些WSDL和XSD是你的合同,當他們生成這些合同時可以變得很容易 - 因此任何必須使用你的服務的一方都必須經常更改他們的代碼。在實踐中,我見過無數次這造成了問題。 – Gerbrand 2010-12-15 22:14:55

+1

CXF與代碼優先和契約優先服務一樣高興。指責包括支持這兩個框架似乎是一個奇怪的方法。 – bmargulies 2010-12-15 22:25:30