0

我正在使用 Axis2 客户端访问外部 Web 服务,其 WSDL 以以下内容开头:

<?xml version="1.0" encoding="UTF-8"?><!--Created by TIBCO WSDL--><wsdl:definitions xmlns:wsdl=...

我对 sendReceive 的调用因以下错误而崩溃:

com.ctc.wstx.exc.WstxUnexpectedCharException:序言中出现意外字符“C”(代码 67);预期'<'

'C' 是 WSDL 中注释的第一个字符。如果没有该注释,一切正常,但就我对基本 XML 的了解而言,该注释是正确的。我的问题是:这是 Axis2 中的错误还是访问的 WSDL 格式错误?有什么办法可以防止 Axis2 在这些情况下崩溃?

4

2 回答 2

0

调试通讯后,我发现“C”是一个红鲱鱼,实际上供应商的服务器正在响应以下文本错误消息:Can not get operation configuration - invalid soapAction for input message

问题是在 HTTP 请求中没有发送soapAction 标头,添加后一切正常。

于 2013-11-13T10:54:28.977 回答
0

您应该使用 wsdl 文档。检查以下链接: http ://www.w3.org/TR/wsdl#_documentation http://www.ws-i.org/Profiles/BasicProfile-1.1.html#WSDL_documentation_Element

于 2013-11-12T20:53:13.807 回答