2017-04-24 109 views
1

我必須調用位於http://ip:port/ws的web服務,它沒有wsdl使用彈簧框架消耗沒有wsdl的SOAP web服務

我可以使用Spring框架的RestTemplate發送HTTP POST,並從服務獲得答案作爲原始輸入。但是這有點煩人,這就是爲什麼我正在尋找正確的方式來使用這個Web服務而沒有WSDL

有人可以提出一個'最佳實踐'的方式來完成這項任務嗎?

回答

1

確實沒有最佳實踐,重新創建WSDL或至少XML Schema看起來像是您改進當前方法的唯一選擇。

+0

我讀過Spring WebserviceTemplate支持使用SAAJ API調用不使用WSDL的遠程Web服務。但找不到任何教程/例子。 PS。我已閱讀springws參考文檔 – 0bj3ct

1

如果你真的很幸運,它會返回一些一致的XML,你可能會拋出一個XPath解析器來提取你需要的位。您可以從它返回的數據中找出XML模式(查找某個位置文檔頂部的命名空間聲明,並查看是否可以按照它所引用的URI),或者將數據放入一個在線文檔中,如this one