2

Spring WebserviceTemplate を使用して、サービスへの SOAP 呼び出しを行っています。パフォーマンス テストを実行して、負荷がかかった状態でどのように動作するかを確認しました。また、着信要求から呼び出しているサービスにヘッダー パラメーターをコピーするためのインターセプターもあります。

@Component
public class HeaderPropagationInterceptor implements ClientInterceptor {

    @Override
    public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException {
        SoapMessage request = (SoapMessage) messageContext.getRequest();
        Result result = request.getSoapHeader().getResult();
        JAXB.marshal(getRequestHeader(), result);
        return true;
    }

パフォーマンス テストを実行すると、次のステートメントが 4 ~ 5 秒間ブロックされます。

JAXB.marshal(getRequestHeader(), result);

これがブロックされる理由はありますか?

4

1 に答える 1