0

クライアント側で、PortオブジェクトをBindingProviderにキャストせずに、SOAPHandlerにオブジェクトを渡してリクエストコンテキストを取得する方法を探しています。通常、次のようなコードが表示されます。

Map<String,Object> requestContext = ((BindingProvider)port).getRequestContext();
requestContext.put("key", object);

ハンドラーのコードは次のようになります。

public boolean handleMessage(SOAPMessageContext context) {
    Boolean isRequest = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);

    if (isRequest) {
        // Do stuff to SOAP header based on "object"
    }
    return true;
}

SpringのAOPを使用してクライアント側のPortオブジェクトからの呼び出しをラップしているため、キャストが好きではありません。キャストによってエラーが発生します。

4

1 に答える 1

1

2.5.6 より前のバージョンの spring を使用していますか? その場合は、Spring をアップグレードする必要があるかもしれません。この変更ログは、バージョン 2.5.6 で BindingProvider インターフェイスのサポートを追加したことを示しています。

于 2012-11-13T16:44:29.670 に答える