我开发了一个用axis2 1.6.1连接web服务的客户端。但是,在使用axis2 1.5.2时,我遇到了以下错误
错误在行_operationClient.execute(true); //inside TestServiceStub
处
警告无法确定jar: StAX实现的方言:/D:/D:/Test/TestClient/TestClient.jar!/org.apache.axis2.Axis: com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符::(代码58)例外空格,或行处的space >‘>或"/>“,col {未知源}: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)例外空间,或者"/>“排在第一排col {未知源}:1,199在org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:293) at org.apache.axiom.om.impl.SwitchingWrapper.updateNextNode(SwitchingWrapper.java:1099) at org.apache.axiom.om.impl.SwitchingWrapper.(SwitchingWrapper.java:234) at org.apache.axiom.om.impl.OMStAXWrapper.(OMStAXWrapper.java:73) at org.apache.axiom.om.impl.llom.OMStAXWrapper.(OMStAXWrapper.java:52) at 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)例外空格,或者"/>“排在第一排col {未知源}:1,199在com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:648) at com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:2965) at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2936) at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848) at com.ctc.wstx.sr.BasicStreamReader.org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225) at org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWrapper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34) at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:672) at 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.AxisFait: com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符':‘(代码58)例外空格,或'>’或"/>“在行,在行{未知-源}:1,199在com.ctc.wstx.exc.WstxUnexpectedCharException
发布于 2012-01-09 15:19:05
堆栈跟踪表明XML格式错误(开始标记中有一个“:”字符,这是不需要的),或者XML解析器有问题。你在用什么版本的Woodstox?警告“无法确定StAX实现的方言”可能表示不支持您使用的版本。我强烈建议您尝试消除该警告(实际上,我是编写生成该警告的代码的人)。否则,您可能会在Axis2中遇到微妙的问题。
发布于 2012-01-09 10:44:58
如果您正在使用SOAP,请在web方法调用时检查XML请求参数。在XML解析级别上可能存在一些问题。
https://stackoverflow.com/questions/8786227
复制相似问题