我开发了一个连接web服务和axis2 1.6.1的客户端。但是,我遇到了以下错误,而一切都适用于axis2 1.5.2
错误在线
_operationClient.execute(true); //inside TestServiceStub
[WARN]无法在jar上确定StAX实现的方言:file:/ D:/Test/TestClient/TestClient.jar!/ org.apache.axis2.AxisFault:com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符':'(代码58)除了空格或'>'或“/>” 在[row,col {unknown-source}]:[1,199] 在org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at my.dev.TestServiceStub.fromOM(TestServiceStub.java:2864) at my.dev.TestServiceStub.test(TestServiceStub.java:192) at my.dev.TestClient.main(TestClient.java:252) 引起:org.apache.axiom.om.OMException:com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符':'(代码58)除了空格或'>'要么 “/>” 中 在[row,col {unknown-source}]:[1,199] 在org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:293) 在org.apache.axiom.om.impl.SwitchingWrapper.updateNextNode(SwitchingWrapper.java:1099) 在org.apache.axiom.om.impl.SwitchingWrapper。(SwitchingWrapper.java:234) 在org.apache.axiom.om.impl.OMStAXWrapper。(OMStAXWrapper.java:73) 在org.apache.axiom.om.impl.llom.OMStAXWrapper。(OMStAXWrapper.java:52) 在org.apache.axiom.om.impl.llom.OMElementImpl.getXMLStreamReader(OMElementImpl.java:795) at org.apache.axiom.om.impl.llom.OMElementImpl.getXMLStreamReaderWithoutCaching(OMElementImpl.java:765) at my.dev.TestServiceStub.fromOM(TestServiceStub.java:2858) ......还有2个 引起:com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符':'(代码58)除了空格或'>'或“/>” 在[row,col {unknown-source}]:[1,199] 在com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:648) 在com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:2965) 在com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2936) 在com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848) 在com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225) at org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34) 在org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:672) 在org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214) ... 9更多
在下面添加了代码并且警告已经解决。
System.setProperty(“javax.xml.stream.XMLInputFactory”,“com.ctc.wstx.stax.WstxInputFactory”); System.setProperty(“javax.xml.stream.XMLOutputFactory”,“com.ctc.wstx.stax.WstxOutputFactory”); System.setProperty(“javax.xml.stream.XMLEventFactory”,“com.ctc.wstx.stax.WstxEventFactory”);
然而,我遇到了另一个问题 org.apache.axis2.AxisFault:com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符':'(代码58)除了空格或'>'或“/>” at [row,col {unknown-source}]:[1,199] at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
答案 0 :(得分:1)
堆栈跟踪表明XML格式错误(在开始标记中某处存在':'字符,这是不期望的)或XML解析器存在问题。您使用的是什么版本的Woodstox?警告“无法确定StAX实现的方言”可能表示不支持您使用的版本。我强烈建议您尝试摆脱该警告(我实际上是编写生成该警告的代码的人)。否则,您可能会遇到Axis2中的细微问题。
答案 1 :(得分:0)
如果您使用的是SOAP WS,请在Web方法调用中检查XML请求参数。 XML解析级别可能存在一些问题。