我必須調用位於http://ip:port/ws的web服務,它沒有wsdl
。使用彈簧框架消耗沒有wsdl的SOAP web服務
我可以使用Spring框架的RestTemplate
發送HTTP POST
,並從服務獲得答案作爲原始輸入。但是這有點煩人,這就是爲什麼我正在尋找正確的方式來使用這個Web服務而沒有WSDL
。
有人可以提出一個'最佳實踐'的方式來完成這項任務嗎?
我必須調用位於http://ip:port/ws的web服務,它沒有wsdl
。使用彈簧框架消耗沒有wsdl的SOAP web服務
我可以使用Spring框架的RestTemplate
發送HTTP POST
,並從服務獲得答案作爲原始輸入。但是這有點煩人,這就是爲什麼我正在尋找正確的方式來使用這個Web服務而沒有WSDL
。
有人可以提出一個'最佳實踐'的方式來完成這項任務嗎?
確實沒有最佳實踐,重新創建WSDL或至少XML Schema看起來像是您改進當前方法的唯一選擇。
如果你真的很幸運,它會返回一些一致的XML,你可能會拋出一個XPath解析器來提取你需要的位。您可以從它返回的數據中找出XML模式(查找某個位置文檔頂部的命名空間聲明,並查看是否可以按照它所引用的URI),或者將數據放入一個在線文檔中,如this one
我讀過Spring WebserviceTemplate支持使用SAAJ API調用不使用WSDL的遠程Web服務。但找不到任何教程/例子。 PS。我已閱讀springws參考文檔 – 0bj3ct