簡體   English   中英

使用wsdl2java和Apache CXF的SOAP客戶端

[英]SOAP client using wsdl2java and Apache CXF

我使用Apache CXF wsdl2java插件運行了wsdl2java命令。 摘自我的WSDL:

<!-- submitSMSv3 -->
  <message name="submitSMSv3">
    <part name="parameters" element="tns:submitSMSv3"></part>
    <!--<part name="gdspHeader" element="tns:gdspHeader"></part>-->
  </message>
  <message name="submitSMSv3Response">
    <part name="result" element="tns:submitSMSv3Response"></part>
  </message>
  <portType name="SMSv3">
    <jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
      <jaxws:enableWrapperStyle>true</jaxws:enableWrapperStyle>
    </jaxws:bindings>
    <operation name="SubmitSMSv3" parameterOrder="parameters">
      <input message="tns:submitSMSv3"></input>
      <output message="tns:submitSMSv3Response"></output>
    </operation>
  </portType>
  <binding name="SubmitSMSv3PortBinding" type="tns:SMSv3">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding>
    <operation name="SubmitSMSv3">
      <soap:operation soapAction=""></soap:operation>
      <input>
        <soap:body use="literal" parts="parameters"></soap:body>
        <!--<soap:header message="tns:submitSMSv3" part="gdspHeader" use="literal"></soap:header>-->
      </input>
      <output>
        <soap:body use="literal"></soap:body>
      </output>
    </operation>
  </binding>
  <service name="SubmitSMSv3Service">
    <port name="SubmitSMSv3Port" binding="tns:SubmitSMSv3PortBinding">
      <soap:address location="http://localhost:${HttpDefaultPort}/GDSPWebServices/SMSv3Service"></soap:address>
    </port>
  </service>

當我調用服務時,我的SOAP主體如下所示:

<soap:Body>
    <ns1:submitSMSv3 xmlns:ns1="http://ws.gdsp.vodafone.com/">
        <ns2:arg0 xmlns:ns2="http://ws.gdsp.vodafone.com/">
            <deviceId>xxxxxx</deviceId>
            <messageData></messageData>
            <messageType>Text</messageType>
        </ns2:arg0>
    </ns1:submitSMSv3>
</soap:Body>

但是我不希望代碼失敗,因為它使網絡調用失敗,我希望我的肥皂主體看起來像這樣:

 <soap:Body>
        <ns1:submitSMSv3 xmlns:ns1="http://ws.gdsp.vodafone.com/">
                <deviceId>xxxxxxx</deviceId>
                <messageData></messageData>
                <messageType>Text</messageType>
        </ns1:submitSMSv3>
    </soap:Body>

我不確定該怎么做才能使它成為這種方式,因為我知道這種方式有效。

在POJO消息格式遇到許多困難之后,我選擇使用PAYLOAD,現在一切都按設計工作。 我必須為請求和響應添加處理器,但現在可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM