【问题标题】:Axis2 problem in setting SOAPAction HTTP header设置 SOAPAction HTTP 标头中的 Axis2 问题
【发布时间】:2010-12-04 06:17:48
【问题描述】:

我正在尝试共同连接到第 3 方 SOAP Web 服务。当 HTTP SOAPAction 标头为空字符串 ("") 时,服务似乎可以工作。这是wsdl的sn-p:

<wsdl:binding name="detailsRequestMessage" type="tns:UssdPortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="details">
        <soap:operation soapAction=""/>
        <wsdl:input>
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>

您在哪里看到 soapAction=""

我使用 Axis2 (1.5) wsdl2java 生成了一个存根。

希望得到以下结果(使用 SoapUI 运行时的成功输出):

POST /details HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.1
Host: some.host
Content-Length: 323

但是相反我得到了:

POST /details HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://some.url/wsussd/ussdtypes/UssdPortType/detailsRequest"
User-Agent: Axis2
Host: some.host
Content-Length: 300

有谁知道问题出在哪里或者我如何在程序中设置soapAction。

谢谢, 罗南

【问题讨论】:

    标签: web-services axis2


    【解决方案1】:

    rperez 的回答并不完全清楚。 我发现 https://issues.apache.org/jira/browse/AXIS2-4264 声称该问题已在 1.6.0 中修复,但我在 1.6.2 中仍然存在问题

    但是,这确实有效:

    stub._getServiceClient().getOptions().setProperty(org.apache.axis2.Constants.Configuration.DISABLE_SOAP_ACTION, true);
    

    【讨论】:

      【解决方案2】:

      看看this question的答案...您可能能够在生成的存根中找到类似的代码。

      如果是这样的话,那我觉得你可以设置动作(根据API):

      serviceClient = new RPCServiceClient();
      Options options = serviceClient.getOptions();
      options.setAction("");
      

      我认为该操作的处理方式因 SOAP 版本而异。要指定不同的版本:

      options.setSoapVersionURI(
          org.apache.axiom.soap.SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
      

      (或 SOAP12 版本的常量)。

      希望对您有所帮助。

      【讨论】:

      • 我试过了,但没有运气。所做的是设置选项的属性。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2018-11-16
      • 1970-01-01
      相关资源
      最近更新 更多