WebService - [Debug] undefined element declaration 's:schema'


錯誤:

[ERROR] undefined element declaration 's:schema'
  line 44 of http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

[ERROR] undefined element declaration 's:schema'
  line 85 of http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

Exception in thread "main" com.sun.tools.internal.ws.wscompile.AbortException
        at com.sun.tools.internal.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:129)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2283)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:183)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:126)
        at com.sun.tools.internal.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:429)
        at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:190)
        at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:168)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:159)
        at com.sun.tools.internal.ws.WsImport.main(WsImport.java:42)

 

解決方案:

參考 https://www.cnblogs.com/xdp-gacl/p/4260627.html

如下圖所示:

  

  運行結果顯示,使用wsimport工具直接生成客戶端代碼會拋異常, 無法生成客戶端代碼, 只是因為我們要調用的WebService是用.net寫的,這個是Java調用net的webservice都有的問題,這個問題的解決辦法如下:

  1. 將對應的wsdl文檔保存到本地

  

  2、修改wsdl文檔的部分內容: <s:element ref="s:schema" /><s:any /> 替換成 <s:any minOccurs="2" maxOccurs="2"/>

  

  再次執行wsimport生成代碼,這次使用保存在本地的WeatherWS.wsdl文件來進行生成,如下圖所示:

  

  從執行結果顯示,這一次可以正常生成代碼了,刷新一下src目錄,就可以看到生成的代碼了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM