com.ctc.wstx.exc.WstxUnexpectedCharException:意外的字符

时间:2013-04-16 20:20:10

标签: web-services weblogic axis stax

我在Client Stub中处理Axis 2 Web服务时运行以下异常。该问题仅在WebLogic Server上发生。服务(aar文件)在Tomcat服务器上的开发中运行良好,但在WebLogic Server上的生产中抛出以下错误。使用Axis 2.0版本1.6.2构建服务。我不确定为什么它们在Tomcat上正常工作但在WebLogic版本10.3.5上运行时会出现问题。这曾经与Axis 2.0 V 1.4一起使用。

myClientClass.java上的例外:

org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ':' (code 58) excepted space, or '>' or "/>" at javax.xml.stream.SerializableLocation@89d089d

我在WebLogic启动日志中看到以下警告。

[WARN] Weblogic's StAX implementation is unsupported and some Axiom features will not work as expected! Please use Woodstox instead.

我在网上找到了一些我需要使用Woodstox的参考资料。所以,我将以下内容添加到webLogicStart.sh

-Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory
-Djavax.xml.stream.XMLOutputFactory=com.ctc.wstx.stax.WstxOutputFactory
-Djavax.xml.stream.XMLEventFactory=com.ctc.wstx.stax.WstxEventFactory

以及调用Web服务之前的stubClass。

          _operationClient.getOptions().setProperty("javax.xml.stream.XMLInputFactory",   
                  "com.ctc.wstx.stax.WstxInputFactory");   
          _operationClient.getOptions().setProperty("javax.xml.stream.XMLOutputFactory",   
                  "com.ctc.wstx.stax.WstxOutputFactory");   
          _operationClient.getOptions().setProperty("javax.xml.stream.XMLEventFactory",   
                  "com.ctc.wstx.stax.WstxEventFactory");

以下是weblogic-application.xml。

    <wls:package-name>com.ctc.wstx.*</wls:package-name>
    <wls:package-name>javax.xml.*</wls:package-name>
    <wls:package-name>org.apache.*</wls:package-name>

我仍然遇到同样的问题。对此的任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

我有同样的错误。 我用wsdl2java创建了axis客户端。 检查你的jdk编译和运行时版本,它们必须是一样的。 我使用1.5和javaee5.0解决了它。 还可以在www.findjar.com上查看与axis2的任何依赖关系。

希望有所帮助

卢卡