2

Spring WebServiceTemplate を使用して SOAP サービス リクエストを作成しようとしていますが、常にエラーが発生します。

SOAP UIを使用すると、同じリクエストで成功したレスポンスが返されます。SOAP UI での唯一の違いは、[プリエンプティブに認証] ラジオ ボタンを選択することです。

以下は、WebServiceTemplate と Client のコード スニペットです。

@Bean(name = "xxxxxWSTemplate")
public WebServiceTemplate xxxxxWSTemplate() throws Exception {
    final WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
    webServiceTemplate.setDefaultUri(env.getProperty("integration.webservice.url"));
    final Jaxb2Marshaller marshaller = new org.springframework.oxm.jaxb.Jaxb2Marshaller();
    marshaller.setContextPath(ObjectFactory.class.getPackage().getName());
    webServiceTemplate.setMarshaller(marshaller);
    webServiceTemplate.setUnmarshaller(marshaller);

    String userName = env.getProperty("integration.service.xxx.username");
    String password = env.getProperty("integration.service.xxx.password");

    Wss4jSecurityInterceptor wss4jSecurityInterceptor = new Wss4jSecurityInterceptor();
    wss4jSecurityInterceptor.setSecurementUsername(userName);
    wss4jSecurityInterceptor.setSecurementPassword(password);
    wss4jSecurityInterceptor.setSecurementMustUnderstand(true);
    wss4jSecurityInterceptor.setSecurementActions("UsernameToken");
    wss4jSecurityInterceptor.setSecurementPasswordType("PasswordText");
    wss4jSecurityInterceptor.afterPropertiesSet();

    webServiceTemplate.setInterceptors(new ClientInterceptor[] {wss4jSecurityInterceptor});

    return webServiceTemplate;
}

コードから常に「500-Internal Server Error」が発生しますが、同じリクエストが SOAP-UI から実行されます。

4

1 に答える 1