• 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_codepboss_fjfjpbosssrc -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用该参数即可解决

  • 相关阅读:
    分布式理论基础(三)时间、时钟和事件顺序
    分布式理论基础(二)选举、多数派和租约
    分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC
    spark入门(三)键值对操作
    spark入门(二)RDD基础操作
    Python的Flask框架入门-Ubuntu
    Python __str__(self)和__unicode__(self)
    Windows下安装和使用MongoDB
    Virtualenv介绍
    python的import与from…import的区别
  • 原文地址:https://www.cnblogs.com/dbaxyx/p/5882725.html
Copyright © 2020-2023  润新知