使用凭证通过 web 服务模板向 messageSender 发出的第一个请求失败,出现 401 未授权,但第二次一切正常且运行良好。
配置:
<property name="messageSender">
<bean class="org.springframework.ws.transport.http.HttpComponentsMessageSender">
<property name="connectionTimeout" value="900000" />
<property name="readTimeout" value="0" />
<property name="credentials">
<bean class="org.apache.http.auth.UsernamePasswordCredentials">
<constructor-arg value="${userName}:${Password}" />
</bean>
</property>
到目前为止,我通过谷歌搜索了解到我必须进行抢先式身份验证以避免使用 [org.apache.http.client.HttpClient] 的 401 未授权。我想要一个 spring xml 配置来允许这样做,以便我可以配置抢先式身份验证。
此外,行为是否符合预期。
到目前为止我所尝试的。
class="org.springframework.ws.transport.http.HttpComponentsMessageSender">
<property name="connectionTimeout" value="900000" />
<property name="readTimeout" value="0" />
<property name="httpClient" ref="httpClient" />
<property name="credentials" ref="credentials"/>
</bean>
</property>
<bean id="httpClient" class="org.apache.http.client.HttpClient">
<!-- Not Sure what configuration to add here -->
</bean>
<bean id="credentials" class="org.apache.http.auth.UsernamePasswordCredentials">
<constructor-arg value="${userName}:${password}" />
</bean>