我有两个独立的JAX-WS(Metro)客户端,它们使用由同一服务器/端口公开的两个Web服务 -
请访问www.test.com:1234/SomeService1和www.test.com:1234/SomeService2
两者都受BASIC身份验证保护。
BindingProvider bindingProvider = (BindingProvider)port;
bindingProvider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpoint);
bindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username);
bindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password);
当单独调用任一服务时,一切正常
但是,当两个服务在彼此紧密的时间接近时被调用时,我从其中一个呼叫接收到HTTP 401,并且看起来没有用户/密码与请求一起发送。
另一个呼叫成功没有问题。
值得注意的是,当两个服务未暴露在同一服务器/端口上时,一切都很好。 (例如www.test.com:1234& www.test.com:4321)
我无法解释这种行为 - 有什么建议吗?
编辑:附加信息
我们在春天之前运行,但没有使用它的任何DI功能(这是一个非常古老的传统应用程序,在某些时候被套在Spring上)
WebService提供商向我保证他们能够并发处理。