WebService CXF調試常見報錯及解決方案


1、CXF java.lang.RuntimeException: Cannot create a secure XMLInputFactory

  解決方案:從apache-cxf/lib下尋找Woodstox jar包添加至buildpath

 

2、Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/stax2/XMLOutputFactory2

  解決方案:缺少stax2-api jar包

 

3、FAULT received from BPEL process : {http://docs.oasis-open.org/wsbpel/2.0/process/executable}subLanguageExecutionFault org.apache.ode.utils.xsl.XslTransformException: TransformerException when transform XSL[sxlt_1.xsl]

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158)

  問題原因:由於webservice服務端要求接收的報文如xml統一在<xml?>頭與尾兩端加上<![CDATA[ 和 ]]>標簽標明中間xml當成一個普通的字符串,服務端拿到字符串后再解析,避免亂碼,但是代碼中調用時無需轉義加上<![CDATA[反而報如上錯誤。

 

4、根據WSDL URL生成客戶端代碼

  wsdl2java -p com.ai.sfframe.webservice.ossClient -frontend jaxws21 -d L:\work_code\pboss_fj\fjpboss\src -verbose http://192.168.160.186:8015/owork/services/address?wsdl

     1)首先需要從apache官網下載apache-cxf*version包,並解壓到自己指定的路徑,然后配置環境變量,此處不做描述,自行搜索引擎即可

  解釋如上參數:

  -d 指定eclipse中我們工程所在路徑(是src路徑)

  -p指定src路徑下包的子路徑如com.*.*

  -frontend jaxws21 cxf2.6.*跟jdk 1.6有沖突,生成客戶端代碼是super(WSDL_LOCATION, SERVICE, features);多了個features用該參數即可解決


免責聲明!

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



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