微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

web-services – org.apache.axis2.AxisFault:First Element必须包含本地名称Envelope,但找到定义

请求在我的本地环境中正常工作,并且在部署的环境中不起作用.来自包括soapui在内的各种客户尝试了请求.代码部署在WAS上

Axis2的

org.apache.axis2.AxisFault: First Element must contain the local name,Envelope,but found deFinitions
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
Caused by: org.apache.axiom.soap.soAPProcessingException: First Element must contain the local name,but found deFinitions
    at java.lang.Throwable.<init>(Throwable.java:67)

解决方法

这是服务器未返回预期的xml响应格式的问题.这可能是由使用不正确的服务端点URL引起的.

解决此问题,请确保Axis代码中使用的URL与代码所基于的WSDL中的端点的URL相匹配.

WSDL中的位置:

<service name="ServiceName">
      <port name="PortName" binding="typens:PortNameBinding">
        <soap:address location="http://yourdomain.com/api/soap/"/>
      </port>
    </service>

代码中的相应位置通常位于两个位置的ServiceNameStub类中:

/**
     * Default Constructor
     */
    public ServiceNameStub(
            org.apache.axis2.context.ConfigurationContext configurationContext)
            throws org.apache.axis2.AxisFault {

        this(configurationContext,"http://yourdomain.com/api/soap/");

    }

    /**
     * Default Constructor
     */
    public ServiceNameStub() throws org.apache.axis2.AxisFault {

        this("http://yourdomain.com/api/soap/");

    }

只需确保这两个URL与您在WSDL文件中的服务端口的soap:address处找到的URL匹配.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐