webServiceSendData:
public class WebServiceSendData {
/**
* 发送的url地址
*/
private String url;
/**
* 命名空间
*/
private String namespace;
/**
* 发送的参数
*/
private Object[] sendParamter;
/**
* 调用方法
*/
private String method;
public Object[] getSendParamter() {
return sendParamter;
}
public void setSendParamter(Object[] sendParamter) {
this.sendParamter = sendParamter;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getNamespace() {
return namespace;
}
public void setNamespace(String namespace) {
this.namespace = namespace;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
axis1 client demo :
Service service = new Service();
Call call = null;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(webServiceSendData.getUrl()));
call.setOperationName(new QName(webServiceSendData.getNamespace(), webServiceSendData.getMethod()));
String responseString = (String) call.invoke(webServiceSendData.getSendParamter());
System.out.println(responseString);
} catch (ServiceException e) {
Log.log(e);
} catch (RemoteException e) {
Log.log(e);
} catch (MalformedURLException e) {
Log.log(e);
}
axis2 client demo:
RPCServiceClient serviceClient = null;
try {
serviceClient = new RPCServiceClient();
//if the web service to be accessed is authenticated then set the userName and passWord in the below authenticator object
// HttpTransportProperties.Authenticator authenticator = new HttpTransportProperties.Authenticator();
// authenticator.setUsername("<userName>");
// authenticator.setPassword("<passWord>");
// options.setProperty(HTTPConstants.AUTHENTICATE, authenticator);
// Provide the EndPoint Reference available in the wsdl ,<soap12:address> tag.
/*EndpointReference targetEPR = new EndpointReference("http://127.0.0.1:8080/axis2/services/Version");
//provide the action name available in the wsdl, under <wsdl:operation > tag.
options.setAction("urn:getVersion");
options.setTo(targetEPR);
QName opName = new QName("http://axisversion.sample", "getVersion");
Object[] opSetArgs = new Object[]{"Blackberry"};
*/
Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(webServiceSendData.getUrl());
//provide the action name available in the wsdl, under <wsdl:operation > tag.
// options.setAction("urn:upload");
options.setTo(targetEPR);
QName opName = new QName(webServiceSendData.getNamespace(), webServiceSendData.getMethod());
Class[] returnTypes = new Class[]{String.class};
Object[] response = serviceClient.invokeBlocking(opName, webServiceSendData.getSendParamter(), returnTypes);
System.out.println(response[0]);
} catch (AxisFault e) {
Log.log(e);
e.printStackTrace();
}