如何使用Web服务SOAP请求和响应包含java中的头和主体

时间:2011-06-23 08:06:04

标签: java web-services soap axis

我有银行的WSDL文件,我们必须使用它的服务。使用Apache axis 1.4 - WSDL2JAVA,我已经生成了所有代理文件。

我需要调用4种方法。每个方法的SOAP 1.1请求和响应都包含一个Header和body。在请求中,标头用于设置要登录的数据,并且正文包含一个对象参数,以实际传递方法getCat的参数。在响应中,我有header_out传递给我连接状态,ErrorCode(用于身份验证)和正文包含类似

的内容
 <GetCatResponse xmlns="WebServices">
  <GetCatResult>
    <xsd:schema>schema</xsd:schema>xml</GetCatResult>
</GetCatResponse>

任何人都可以告诉我如何编写客户端代码来发送请求并获得响应。

Soap如下所示。

 SOAPAction: "WebServices/GetCat"
  <soap:Envelope ....>
   <soap:Header>
    <ws_Header xmlns="WebServices">
     <sWebUser>string</sWebUser>
      <sWebPassword>string</sWebPassword>
      <sCompanyID>string</sCompanyID>
     </ws_Header>
    </soap:Header>
   <soap:Body>
     <GetCat xmlns="WebServices">
      <ObjParms>
       <sCountry>string</sCountry>
       <sCatType>string</sCatType>
       </ObjParms>
     </GetCat>
    </soap:Body>
  </soap:Envelope>

RESPONSE

<soap:Envelope ...>
<soap:Header>
  <ws_Header_Out xmlns="WebServices">
   <sFlagStatus>int</sFlagStatus>
   <sErrorCode>string</sErrorCode>
  </ws_Header_Out>
</soap:Header>
<soap:Body>
  <GetCatResponse xmlns="WebServices">
    <GetCatResult>
     <xsd:schema>schema</xsd:schema>xml</GetCatResult>
   </GetCatResponse>
 </soap:Body>
</soap:Envelope>

1 个答案:

答案 0 :(得分:0)

您可以使用eclipse生成Web服务客户端代码。您给它一个WSDL(或它的位置),它将为您生成所有代理。见this tutorial