我在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>
我仍然遇到同样的问题。对此的任何帮助都非常感谢。
答案 0 :(得分:0)
我有同样的错误。 我用wsdl2java创建了axis客户端。 检查你的jdk编译和运行时版本,它们必须是一样的。 我使用1.5和javaee5.0解决了它。 还可以在www.findjar.com上查看与axis2的任何依赖关系。
希望有所帮助
卢卡