【问题标题】:Unknown error when client makes connection with axis2 1.6.1客户端与axis2 1.6.1连接时出现未知错误
【发布时间】:2012-01-09 09:27:59
【问题描述】:

我开发了一个客户端,将 Web 服务与 axis2 1.6.1 连接起来。但是,当一切都与axis2 1.5.2一起工作时,我遇到了以下错误

错误就在这一行 _operationClient.execute(true); //inside TestServiceStub

[WARN] 无法在 jar:file:/D:/Test/TestClient/TestClient.jar 处确定 StAX 实现的方言!/ org.apache.axis2.AxisFault:com.ctc.wstx.exc.WstxUnexpectedCharException:意外字符“:”(代码 58)例外空格,或“>”或“/>” 在 [row,col {unknown-source}]:[1,199] 在 org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 在 my.dev.TestServiceStub.fromOM(TestServiceStub.java:2864) 在 my.dev.TestServiceStub.test(TestServiceStub.java:192) 在 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) 在 org.apache.axiom.om.impl.llom.OMElementImpl.getXMLStreamReaderWithoutCaching(OMElementImpl.java:765) 在 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) 在 org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225) 在 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)例外空格,或 [row,col {unknown-source}] 处的“>”或“/>” : [1,199] 在 org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)

【问题讨论】:

    标签: java eclipse weblogic axis2


    【解决方案1】:

    堆栈跟踪表明 XML 格式不正确(开始标记中的某处有一个不期望的“:”字符)或 XML 解析器存在问题。您使用的是哪个版本的 Woodstox?警告“无法确定 StAX 实现的方言”可能表明您使用的版本不受支持。我强烈建议您尝试摆脱该警告(我实际上是编写生成该警告的代码的人)。否则你可能会在 Axis2 中遇到一些微妙的问题。

    【讨论】:

    • 我意识到这篇文章已经有好几年了,但我还是会问......我目前也在经历这个“无法在 jar:file: 处确定 StAX 实现的方言:...... “-警告。我认为它目前不会在我的应用程序中造成任何问题(至少我不知道),但我仍然想摆脱它。你能给我一些指示如何做到这一点吗?谷歌只是没有帮助我(除了为我找到这篇文章)而且我自己的尝试没有成功。
    • 您应该为org.apache.axiom.util.stax.dialect 启用调试日志记录并使用相关日志创建一个新问题。
    【解决方案2】:

    如果您使用的是 SOAP WS,请检查您的 Web 方法调用中的 XML 请求参数。 XML解析级别可能存在一些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 2015-03-21
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多