如何使用Java从WSDL获取SOAPAction

如何使用Java从WSDL获取SOAPAction,java,soap,Java,Soap,我正在使用javax.wsdl包解析wsdl文件 我不确定如何从wsdl文件获取操作的SOAPAction 我能够使用WSDLFactory获取javax.wsdl.Operation对象。但是我找不到办法来获得那次行动的效果 有人知道如何得到它吗 谢谢, Maviswa您需要获取与SOAPOperation对应的ExtensibilityElement,并从中提取SOAPAction 让我们以一个简单的WSDL为例,从中,从其CelsiusToFahrenheit操作中提取SOAP操作;我将关

我正在使用javax.wsdl包解析wsdl文件

我不确定如何从wsdl文件获取操作的SOAPAction

我能够使用WSDLFactory获取javax.wsdl.Operation对象。但是我找不到办法来获得那次行动的效果

有人知道如何得到它吗

谢谢,
Maviswa

您需要获取与
SOAPOperation
对应的
ExtensibilityElement
,并从中提取
SOAPAction

让我们以一个简单的WSDL为例,从中,从其
CelsiusToFahrenheit
操作中提取SOAP操作;我将关注这一部分:

<wsdl:binding name="TempConvertSoap" type="tns:TempConvertSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="FahrenheitToCelsius">
      <soap:operation soapAction="http://tempuri.org/FahrenheitToCelsius" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CelsiusToFahrenheit">
      <soap:operation soapAction="http://tempuri.org/CelsiusToFahrenheit" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
输出如下:

http://tempuri.org/CelsiusToFahrenheit
http://tempuri.org/CelsiusToFahrenheit