內調用基於WSDL的Web服務我也跟着這篇文章:http://www.mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/從露天
,所以我有:
- 的HelloWorld http://pastebin.com/BJ3QA7pR
- HelloWorldImpl http://pastebin.com/RM5SBZ5C
- HelloWorldPublisher http://pastebin.com/H525WevK
供應作爲端點。
在另一側我有i相的wsimport生成的客戶端:
- 的HelloWorld http://pastebin.com/g07H1exf
- HelloWorldImplService http://pastebin.com/f0YWMiYt
此運行在Eclispe的細而不露天參與。然而,我想打電話從露天web服務(從java支持的web腳本爲例)
我試圖將客戶端的東西複製到我的amp文件,並從webscript調用它,但它失敗!
Caused by: java.lang.IncompatibleClassChangeError: Class com.ibm.wsdl.DefinitionImpl does not implement the requested interface javax.wsdl.extensions.AttributeExtensible
- Webscript http://pastebin.com/7JksRdtU
1 - 有通過定義一個彈簧豆(彈簧WS)或例如
來配置訪問的wsdl更優雅的方式2 - 爲什麼它不起作用?完整跟蹤:使用露天社區http://pastebin.com/ak1qzygA
5.0.a
感謝
http://stackoverflow.com/questions/1980452/what-causes-java-lang-incompatibleclasschangeerror。依賴jar問題? – Abhin 2014-09-03 17:12:49
我從lib目錄中刪除了axis-wsdl4j-1.5.1.jar - 現在它可以工作......但這對我來說很奇怪。 – user1429166 2014-09-04 11:28:04
也許與其他wsdl4j.jar存在衝突; axis-wsdl4j jar優先於另一個。隨着axiswsdl4j罐子現在工作了嗎?也許是 – Abhin 2014-09-04 12:00:06