Http 基本身份验证不适用于 Spring WS 和 WebServiceTemplate 凭据

dex*_*lin 3 java spring soap web-services spring-ws

我尝试使用 Spring(-WS) 将 HTTP Basic Auth 凭据添加到我的 SOAP-Request 中。请求本身有效,但未提交任何凭据。HTTP 标头应如下所示:

[...]
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Authorization: Basic mybase64encodedtopsecretcredentials=
Run Code Online (Sandbox Code Playgroud)

但最后一行并没有丢失。在 MyConfig.java 中,我配置 Bean(无 XML):

@Bean
public WebServiceTemplate webServiceTemplate() {
    WebServiceTemplate template = new WebServiceTemplate();
    try {
        template.setMarshaller(marshaller());  //Jaxb2Marshaller
        template.setUnmarshaller(marshaller());

        // proxy for tcpmon inspection
        template.setDefaultUri("http://127.0.0.1:29080/target/webservice.php");
        String username = environment.getProperty("config.username");
        String password = environment.getProperty("config.password");
        Credentials credentials = new UsernamePasswordCredentials(username, password);
        HttpComponentsMessageSender sender = new HttpComponentsMessageSender();
        sender.setCredentials(credentials);
        sender.afterPropertiesSet();
        template.setMessageSender(sender);
    } catch (Exception e) {
        // @todo: handle me
    }
    return template;
}
Run Code Online (Sandbox Code Playgroud)

如果您知道授权行缺失的原因,请告诉我。:) 提前非常感谢