2016-12-18 12 views
0

私は最初のSpring Bootアプリケーションを開発中です。Soapとrestの両方が含まれていますwebservice。私はパラメータとしてurlを渡す必要があります。私は、レストサービスのURLにリクエストを渡すことができます。 SOAPwebserviceのURLでリクエストを送信できますか?春のブートを使用してSOAPと休憩Webservice

+0

いいえ、 'SOAP'リクエストは基本的に' POST'リクエストであり、リクエストデータをURLの一部として送信することはできません。 – Arpit

+0

@arpit SOAP UIツールを使用してSOAP形式のリクエストのみを送信することができます。 – user6543599

+0

はい!, soapはxmlのみを送信できます – Arpit

答えて

1

[OK]私はあなたの意図は何ですか、SOAPについてはわかりません。

今、あなたはあなたが必要な呼び出しを行うであろうとのオブジェクトを生成することができ、そこからそのAPIのスキーマまたは .WSDLを持つように、まず必要なWSとの通信に出席
---------------      ---------------- 
|    | someMethodInvoke |    | 
| Your API | -------------------->| WEB Service | 
|    |<-------------------- |    | 
--------------- someResult  ---------------- 

私は個人的にJAXBをスキーマのクラス.javaの生成に使用しています。

それ以降は自己org.springframework.ws.client.core.WebServiceTemplateが仕事をするものです。 marshalSendAndReceiveを使用できます。例えば

org.springframework.ws.client.core.WebServiceTemplate

public class SomeService extends WebServiceGatewaySupport { 
    ObjectFactory oFactory = new ObjectFactory(); 

    public ExpectedResultObject someMethodInvoke(RequestObjectGeneratedFromSchema request){ 
      JAXBElement<ExpectedResultObject> response = (JAXBElement<ExpectedResultObject>) getWebServiceTemplate() 
       .marshalSendAndReceive("http://yourURL.com", oFactory.createreRequestObjectGeneratedFromSchemaInputMessage(request)); 
      return response.getValue(); 
    } 
} 

まずので、あなたが必要なだけ正確に何を返すgetWebServiceTemplate()を呼び出すことができるWebServiceGatewaySupportを拡張します。ここでは、どのように使用することができますかの例ですWebServiceTemplate

もちろん、セキュリティ、接続性など、多くの要素が設定されている可能性があります。しかしそれはWSに依存します。しかしbasiclyそれがすべてです:

  1. は、WSDL(スキーマ)情報と
  2. 塗りつぶし生成されたオブジェクトからの.javaクラスを生成
  3. 使用

ホープ私はあなたを与えたENDポイントを呼び出すためのいくつかのWebServiceTemplateいくつかの方向。

関連する問題