Spring WS вызывает веб-сервисы .net - PullRequest
0 голосов
/ 07 мая 2009

Мне нужно назвать этот веб-сервис, который является веб-сервисом .net (ну, я думаю, WS должен быть довольно независимым от платформы). Я прикрепил WSDL ниже.

Я использую Spring WS 1.5.6. Я не уверен, что положить в сообщении.

Нужно ли включать пространство имен и т. Д.? и нужно ли указывать имя метода и т. д.

(Вторая мысль: лучше ли мне использовать Axis2? Если да, то как это сделать?)

Пожалуйста, сообщите Заранее спасибо

// send to the configured default URI
    public void simpleSendAndReceive() {
        StreamSource source = new StreamSource(new StringReader(MESSAGE));
        StreamResult result = new StreamResult(System.out);
        webServiceTemplate.sendSourceAndReceiveToResult(source, result);
    }




   <?xml version="1.0" encoding="UTF-8"?>
<?Siebel-Property-Set EscapeNames="false"?>
<definitions
 xmlns="http://schemas.xmlsoap.org/wsdl/"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 targetNamespace="http://extsup01/asi/"
 xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:tns="http://extsup01/asi/">
   <types></types>
   <message
 name="aPLServiceAttachmentWSsGetAttach_Input">
      <partname="sInput" type="xsd:string"></part>
   </message>
   <message name="aPLServiceAttachmentWSsGetAttach_Output">
      <part name="sOutput" type="xsd:string"></part>
   </message>
   <portType name="aPL_spcService_spcAttachment_spcWS">
      <operation name="aPLServiceAttachmentWSsGetAttach">
         <input message="tns:aPLServiceAttachmentWSsGetAttach_Input"></input>
         <output message="tns:aPLServiceAttachmentWSsGetAttach_Output"></output>
      </operation>
   </portType>
   <binding name="aPL_spcService_spcAttachment_spcWS" type="tns:aPL_spcService_spcAttachment_spcWS">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"></soap:binding>
      <operation name="aPLServiceAttachmentWSsGetAttach">
         <soap:operation soapAction="rpc/http://extsup01/asi/:aPLServiceAttachmentWSsGetAttach"></soap:operation>
         <input>
            <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://extsup01/asi/" use="encoded"></soap:body>
         </input>
         <output>
            <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://extsup01/asi/" use="encoded"></soap:body>
         </output>
      </operation>
   </binding>
   <service name="aPL_spcService_spcAttachment_spcWS">
      <port binding="tns:aPL_spcService_spcAttachment_spcWS" name="aPL_spcService_spcAttachment_spcWS">
         <soap:address location="http://extsup01/some_url"></soap:address>
      </port>
   </service>
</definitions>

1 Ответ

1 голос
/ 07 мая 2009

Я бы порекомендовал вам быть ленивым и скачать SOAP U I. Дайте ему WSDL и позвольте ему генерировать поток XML-запросов для вас. Он покажет вам, что именно должно быть в запросе, включая соответствующее пространство имен. Это то, что я использую.

Есть очень хороший плагин для IntelliJ, который заключает сделку для меня. Если вы являетесь пользователем IntelliJ, получите это тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...