我想访问 Web 服务,代码如下所示:
URL url = new URL("http://localhost:8080/sample?ver_=1.0");
QName qname = new QName("http://webservices.sample.com/sample", "sample");
javax.xml.ws.Service service = javax.xml.ws.Service.create(url, qname);
初始化“服务”的行会抛出 401 Unauthorized 异常。
如果我访问
http://localhost:8080/sample?ver_=1.0
使用浏览器,会弹出一个要求输入用户名和密码的窗口。
我尝试使用 Wireshark 捕获数据包,并注意到服务的构造函数将 HTTP Get 发送到 IP 地址但没有凭据。
如何确保服务构造函数对 HTTP Get 的调用包含用户名/密码?
我已经尝试在通话之前将其放入,但没有帮助
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
"username",
"password".toCharArray());
}
});
谢谢!