2

Spring-WS を使用して最初のクライアントを作成しようとしていますが、いくつかの基本で少し混乱しています。SAML トークンをヘッダーに挿入する必要がありますが、WebServiceTemplate クラスがインターセプターと WebServiceMessageCallbacks の両方を許可していることに気付きました。

なぜ私がどちらを使うべきなのかを理解するのを手伝ってもらえますか?

第 2 に、WST クラスではインターセプターのリストが許可されていますが、コールバックは 1 つしか許可されていないことに気付きました。その設計決定の背後にあるロジックを知っている人はいますか? コールバックの配列またはリストを渡す機能がないのはなぜですか?

ありがとう、

エリック

4

1 に答える 1

3

あなたの質問を読んだ後、私は同じことを考えていました(-:

このリンクには簡単な説明があり、それがまさに私が両方を使用する方法です。たとえば、特定のリクエストの場合、SOAP アクションを設定する必要があります。

JAXBElement<Response> response = (JAXBElement<Response>) webserviceTemplate.marshalSendAndReceive(
    request, 
    new SoapActionCallback("PutOrganisationUnitRequest")
);

リンクに記載されているように、これは確かに単純な匿名クラスです。一方、インターセプターは定義され、すべてのリクエストに使用されます。たとえば、 XwsSecurityInterceptorを見てみましょう。これを使用して、すべてのリクエストに認証を設定します。

于 2012-07-02T13:54:07.903 に答える