0

在客户端存根中处理 Axis 2 Web 服务时,我正在运行以下异常。该问题仅发生在 WebLogic Server 上。服务(aar 文件)在 Tomcat Server 上的开发中工作正常,但在 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>

我仍然遇到同样的问题。对此的任何帮助都将受到高度赞赏。

4

1 回答 1

0

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

希望能帮助到你

卢卡

于 2014-06-18T10:20:23.457 回答