我正在嘗試編寫簡單的 java soap web 服務,為此目的下載 eclipse 并創建動態 web 應用程序,在該項目中創建此類和方法:package test;public class Sayam{ public String helloworld(){ return "Hello world!"; }}在該類上右鍵單擊并選擇 Web 服務并生成 Web 服務,一切正常,Web 服務返回此結果:<soapenv:Envelope><soapnv:Body> <helloWorldResponse> <helloWorldReturn>Hello World!</helloWorldReturn> </helloWorldResponse></soapenv:Envelope></soapnv:Body>我想改變這一行:<helloWorldReturn>Hello World!</helloWorldReturn>到我的客戶元素:<QueryResult>Hello World!</QueryResult>
1 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
您不應該知道最終合同的名稱,沒關系。任何客戶端都應該使用任何“wsdl to code”(codegen)工具。
您和您的服務客戶不應直接處理 XML 層(最通用的 SOAP 協議)。
如果您是 web 服務所有者,您可以將其定義為“代碼優先”(您定義類和方法,平臺為您更新 WSDL 定義)。
如果您不是所有者,您應該要求合同(WSDL)并使用任何代碼生成器(wsimport是典型的代碼生成器)。
如果您嘗試為某些 XML 格式定義 Web 服務并且您有 XSD 定義或其他內容,請不要嘗試創建 SOAP 服務,而是直接處理該層(XML 數據)(當然使用適當的工具,如Java JAXB的標準規范)。
如果無論如何,你想改變那個詞,你有一些選擇:
自己編寫 WSDL(手動或使用某種工具),然后創建 Web 服務(例如,使用wsimport)。
搜索你的平臺是否能夠做到這一點(jaxws 并非沒有黑客攻擊)
添加回答
舉報
0/150
提交
取消