Как использовать веб-сервис SOAP Запрос и ответ содержат заголовок и тело в Java - PullRequest
0 голосов
/ 23 июня 2011

У меня есть файл WSDL из банка, чей сервис мы должны использовать.Используя Apache axis 1.4 - WSDL2JAVA, я сгенерировал все прокси-файлы.

Мне нужно вызвать 4 метода.Каждый запрос и ответ SOAP 1.1 каждого метода содержит заголовок и тело.В запросе заголовок используется для установки данных для входа в систему, а тело содержит параметры объекта, которые фактически передают параметры для моего метода getCat.В ответе у меня есть header_out, который передает мне статус соединения, ErrorCode (для аутентификации), а тело содержит что-то вроде

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

Может кто-нибудь сказать мне, как я могу написать код клиента для отправкизапрос и получить ответ.

Мыло выглядит как показано ниже.

 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>

ОТВЕТ

<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 голосов
/ 23 июня 2011

Вы можете использовать eclipse для генерации кода клиента веб-сервиса. Вы даете ему WSDL (или его местоположение), и он сгенерирует все прокси для вас. См. этот урок

...