axis2中怎么给客户端设置密码和用户名
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
1、可以使用Server端密码验证
使用如下的命令生成客户端使用的stub 类:
%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/loginService?wsdl -p client -s -o stub
在stub\src\client 目录中生成了一个LoginServiceStub.java 类,在该类中找到如下的构造句法:
public LoginServiceStub(org.apache.axis2.context.ConfigurationContext configurationContext, String targetEndpoint, boolean useSeparateListener) throws org.apache.axis2.AxisFault
{
_serviceClient.getOptions().setSoapVersionURI( org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
}
在该方法中最后添加如下的代码:
// 第3 步:打开客户端的Session 管理功能
_serviceClient.getOptions().setManageSession(true);
下面的客户端代码使用LoginServiceStub 对象访问了刚才建立的WebService:
LoginServiceStub stub = new LoginServiceStub();
LoginServiceStub.Login login = new LoginServiceStub.Login();
login.setUsername("bill");
login.setPassword("1234");
if(stub.login(login).local_return)
{
System.out.println(stub.getLoginMsg().local_return);
}
运行上面的代码后,会输出“成功登录”信息
2、可以使用ws:security
使用如下的命令生成客户端使用的stub 类:
%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/loginService?wsdl -p client -s -o stub
在stub\src\client 目录中生成了一个LoginServiceStub.java 类,在该类中找到如下的构造句法:
public LoginServiceStub(org.apache.axis2.context.ConfigurationContext configurationContext, String targetEndpoint, boolean useSeparateListener) throws org.apache.axis2.AxisFault
{
_serviceClient.getOptions().setSoapVersionURI( org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
}
在该方法中最后添加如下的代码:
// 第3 步:打开客户端的Session 管理功能
_serviceClient.getOptions().setManageSession(true);
下面的客户端代码使用LoginServiceStub 对象访问了刚才建立的WebService:
LoginServiceStub stub = new LoginServiceStub();
LoginServiceStub.Login login = new LoginServiceStub.Login();
login.setUsername("bill");
login.setPassword("1234");
if(stub.login(login).local_return)
{
System.out.println(stub.getLoginMsg().local_return);
}
运行上面的代码后,会输出“成功登录”信息
2、可以使用ws:security
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询