2013-03-04 8 views
9

Spring WSを使用してWebサービスクライアントを実装する必要があります。WebServiceGatewaySupportとWebServiceTemplateのメリット

私はhttp://static.springsource.org/spring-ws/site/reference/html/client.htmlにあるドキュメントを読んだことがありますが、私のサービスクラスでWebServiceTemplateを直接使用しているのに対して、WebServiceGatewaySupportを拡張する利点は何ですか?

私がソースから知る限り、WebServiceGatewaySupportにはWebServiceTemplateのいくつかの初期化サポートのための2つのラッパーメソッドしかありません。

なぜWebServiceGatewaySupportに直接WebServiceTemplateを使用する代わりに延長する必要がありますか?

ありがとうございました!

答えて

7

私は(あなたがリンクされ、クライアントの参照で見つかった)、これはそれをすべて合計すると思う:

また、簡単に有効にするために 便利なBeanプロパティを公開春-WSの WebServiceGatewaySupportのコンビニエンスベースクラスから派生考えます構成。 (あなたが それは便宜上 クラスとして提供されています...この基底クラスを拡張する必要はありません。)

のでWebserviceTemplateはあなたが必要なすべてを提供していますならば、それはおそらく十分でしょう。余分なものが必要な場合はWebserviceTemplateの周りに便利な方法をラップする方法の例としてWebServiceGatewaySupportを使用できます。私のクライアントソフトウェアで

、私はこのように私の@ConfigurationクラスでWebserviceTemplateを設定します(すべてのメソッド呼び出しは、この例ではそれは関係ありません構成内の他のメソッドへの参照です

@Bean 
public WebServiceTemplate webServiceTemplate() { 
    WebServiceTemplate template = new WebServiceTemplate(); 
    template.setMessageFactory(messageFactory()); 
    template.setDefaultUri(defaultUri); 
    template.setMarshaller(marshaller()); 
    template.setUnmarshaller(marshaller()); 
    template.setInterceptors(new ClientInterceptor[] {interceptor()}); 

    return template; 
} 

)。 私はコード内のどこでもそのBeanを使ってメッセージを送ることができます。

+0

ご回答ありがとうございます。私は24時間以内に良い返答がない場合、あなたに賞金をあげます。 – Sorin

関連する問題