2010-07-23 51 views
4

我有一個WSDL文件以及有關從網絡服務提供商的每個請求和響應的所有元素的詳細文件。我的工作是編寫約40個請求並解析相應的響應。撰寫SOAP請求在Java中

更具體地說,我們的平臺提交請求,並從服務得到響應,所以對我來說,作爲一個開發者,我只需要撰寫SOAP請求,並通過他們作爲字符串的平臺。我也從平臺獲得響應。

我試過StringBuilder的,但它看起來相當原始。它必須是一個更好的方式來做到這一點。

我可以把XML文檔中的所有請求,並以某種方式生成它的請求?

甚至更​​好,是有可能生成WSDL文件要求?

感謝,

薩拉

+0

不知道怎麼的StringBuilder看起來更原始的非字符串 – Woot4Moo 2010-07-23 12:49:04

+0

喜Woot4Moo(好聽的名字BTW),由原始的我的意思是,當我建立的要求,我使用StringBuilder。例如,StringBuilder.append(「」)。有很多打字,所以我稱它爲原始 – sarahTheButterFly 2010-07-23 13:15:21

回答

2

看一看中的WSDL2Java工具(有幾種說法,一種使用Axis2打包,另一名來自IBM,等等)。這些可以從您的WSDL生成客戶端存根,並且應該爲您節省大量的工作。

編輯:剛剛意識到這可能需要一些額外的工作,因爲你說你的平臺提交請求。生成的代碼應該嘗試向服務提交字符串(如果這是您的WSDL指定的內容),也許您可​​以修改代碼以將字符串傳遞到您的平臺上?

JAX-WS's wsimport

Client stubs w/ XFire

Axis2's wsdl2java

IBM's wsdl2java

+0

嗨Segphault,謝謝你的回覆。我嘗試了Axis的wsdl2java來測試另一個項目上的web服務。生成的存根很雜亂(找不到更好的單詞,對不起),我必須將請求作爲字符串傳遞給我們的平臺,所以我不認爲存根可以幫助嗎?也許我用錯誤的方式使用了wsdl2java? – sarahTheButterFly 2010-07-23 13:08:13

+0

回覆您的編輯。是的,這可能是一種方法。會看看。 – sarahTheButterFly 2010-07-23 13:12:32

+0

是的,生成的代碼在默認情況下會變成一團糟 - 有些選項可以用來加強它,但我不記得究竟是什麼(我認爲它與選擇數據綁定有關) 。老實說,我很難從良心良心的Axis項目中推薦任何東西,因爲它們就是這麼一堆廢話。您可能還想看看使用XFire生成存根(添加到原始帖子的鏈接)。 – 2010-07-23 13:19:55