import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class WSClient {
/**
* @param args
*/
//通过webservice获得密码的方法
public String getPassword(String userName,String envType){
String result="";
String serviceUrl="http://localhost/axis2/services/GetPassword";
try {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(serviceUrl);
options.setTo(targetEPR);
// 指定getPsw方法的参数值
Object[] opAddEntryArgs = new Object[] {userName,envType};
// 指定getPsw方法返回值的数据类型的Class对象
Class[] classes = new Class[] {String.class};
// 指定要调用的getPsw方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://ws.apache.org/axis2", "getPsw");
// 调用getPsw方法并输出该方法的返回值
result = serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0].toString() ;
//System.out.println("---------------Password--------------"+result);
}
catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String userName="Test";
String envType="Test";
String s ="";
WSClient wsClinet = new WSClient();
s = wsClinet.getPassword(userName, envType);
System.out.println("-------Jake Yu S------------"+s);
/*
try {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://localhost/axis2/services/GetDBStatus");
options.setTo(targetEPR);
// 指定sayHelloToPerson方法的参数值
Object[] opAddEntryArgs = new Object[] {""};
// 指定sayHelloToPerson方法返回值的数据类型的Class对象
Class[] classes = new Class[] {String.class};
// 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://ws.apache.org/axis2", "getStatus");
// 调用sayHelloToPerson方法并输出该方法的返回值
System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]);
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
} */
}
}
备注:需要导入Axis2中所有的包.