java - org.apache.axis2.AxisFault : First Element must contain the local name, 信封,但找到了 html

标签 java web-services jakarta-ee axis

Axis 出现以下异常的原因可能是什么...使用的 Http verion 是 1.0。

如果设置了下面的属性就可以解决这个问题

stub._getServiceClient().getOptions().
               setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED,
Boolean.FALSE);

但根据 axis 文档,上述属性仅适用于 HTTP 1.1 版。 如果 HTTP 版本为 1.0,传输框架将忽略此属性。

有什么想法吗?

org.apache.axis2.AxisFault: First Element must contain the local name, Envelope , but found html
 at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
 at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:90)
 at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353)
 at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
 at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
 at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)


Caused by: org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html
 at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251)
 at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209)
 at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:191)
 at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:172)
 at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:156)
 at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:105)
 at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:677)
 at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:182)
 at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112)
 at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:88)

最佳答案

尝试使用像 tcpmon 这样的嗅探器来查看服务的实际响应。我的猜测是客户端正在使用服务器上不存在的目标 URL,并且服务器使用包含 HTML 而不是 SOAP 信封的 404 进行响应。

关于java - org.apache.axis2.AxisFault : First Element must contain the local name, 信封,但找到了 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165010/

相关文章:

java - 创建 mimetype : application/EDIFACT 的 javax.mail 消息

java - 维护和控制 GUI 状态和子状态

java - 基于请求参数填充 Javabeans 的简单方法

java - 如何在没有 Servlet 的情况下在 Restful Web 服务(Java 和 Jersey)中获取客户端证书?

java - 从 JAVA 7 迁移到 8 时,JAX WS 的 DII(例如 Dispatch)是否会受到影响

java - 如何在远程 session bean 类中使用 ByteBuffer?

java - libgdx 和 libgdx-sqlite 的问题

web-services - 使用 CXF 通过 SSL 保护 Web 服务通信

java - 这个春训有用吗?

java - 将方法添加到数组列表并动态调用方法