1

Spring コンテナーを使用した Jax-Ws Metro プロジェクトがあります。SoapHandler 内のフィールドを自動配線できません。インターネットリソースからすべてを試しましたが、成功しませんでした。フィールドは常に null です。フィールド名は「paymentPortalService」です。

私のハンドラクラス:

public class CustomSoapHeaderHandler extends SpringBeanAutowiringSupport implements SOAPHandler<SOAPMessageContext> {
    private static final Logger log = Logger.getLogger(CustomSoapHeaderHandler.class);

    @Autowire
    private PaymentPortalService paymentPortalService;
}

リモート サービスを呼び出すプロキシ サービスがあります。このハンドラをリモート サービス コール メソッドのハンドラ チェーンに追加しました。

@Service
public class CustomServiceProxy {
    private final Logger log = Logger.getLogger(CustomServiceProxy.class);
    private RemoteServicePort pspPort;


    public CustomServiceProxy() {
        try {


        pspPort = new RemoteService_Service(new URL("https://x?wsdl")).getRemoteServicePort();

        Binding binding = ((BindingProvider) pspPort).getBinding();
        List<Handler> handlers = binding.getHandlerChain();
        handlers.add(new CustomSoapHeaderHandler());
        binding.setHandlerChain(handlers);
    }
}

@Autowire を @Resource に変更し、インターネットから他のソリューションをいくつか変更しようとしましたが、成功しませんでした。EE コンテナーなしで Apache Tomcat 8 を使用しています。

前もって感謝します!

4

1 に答える 1