我在Websphere 9上使用@webservice注释部署了一个Web服务。要访问Web服务,客户端必须使用用户名和密码,因为它隐藏在表单登录后面。这是通过web.xml文件设置的。 Websphere使用外部LDAP来存储用户和密码。这在访问servlet和jsp时有效。
我无法通过SoapUI或直接从java客户端代码调用我的Web服务,因为我回来的只是登录页面(我猜是由于重定向)。
在SoapUI中,我选择了基本身份验证,在java代码中,我已尝试使用此(https://stackoverflow.com/a/496707/1329339)和http://user:password@url,但没有成功。
此代码应在部署到生产后从第三方调用。
编辑: 如何调用我在websphere上创建和部署的webservice 1)来自java代码和2)来自SoapUI?
EDIT2:
代码:
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class MyWebService {
@WebMethod
public String sayHello(String name) {
return "Hello , " + name;
}
}
答案 0 :(得分:0)
您的客户端需要包含用户名和密码作为授权HTTP标头。您还需要将Web服务的web.xml文件中的auth-method更改为“FORM”中的“BASIC”。