在生成的stub类中有一个createCall方法
protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException
在其中 可以添加用户名和密码
_call.setPassword("pwd");
_call.setUsername("user");
1、可以使用Server端密码验证
使用如下的命令生成客户端使用的stub 类:
%AXIS2_HOME%\bin\wsdl2java -uri 工程目录/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