日期:2014-05-17 浏览次数:20810 次
/**
* 调用webservice
*
* @param url
* URL地址
* @param method
* 调用的方法名称
* @param paramName
* 传递的参数名称
* @param param
* 传递的参数
* @return 未解析的XML字符串
*/
@Override
public String callWebService(String url, String method, String paramName, String param)
{
String resultStr = null;
logger.info("调用webservice 参数为:param=" + param);
try
{
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
// 设置要调用哪个方法
//call.setOperationName(method);
call.setOperationName(new QName("http://testspeed.com",method));
// 设置要传递的参数
call.addParameter(new QName("http://testspeed.com",paramName), XMLType.XSD_STRING, ParameterMode.IN);
// 要返回的数据类型(自定义类型)
call.setReturnType(XMLType.XSD_STRING);// (标准的类型)
//call.setUseSOAPAction(true);
//call.setSOAPActionURI(method);
// 调用方法并传递参数
String result = (String) call.invoke(new Object[] { param });
if (logger.isDebugEnabled())
{
logger.debug("调用webservice 返回结果为:" + result);
}
}
catch (MalformedURLException e)
{}
catch (ServiceException e)
{}
catch (RemoteException e)
{}
return resultStr;
}
/**
* 根据客户端IP获得用户账号
*
* @param param
* XML格式的参数
* @return 未解析的XML报文
*/
public String getAccessNum(String param)
{
// url
String url = "http://25.24.29.18:8190/obs-auth/webservice/OBSInterfaceForAuth?wsdl";
// 要调用方法
String method = "AuthIP";
// 参数名称
String paramName = "AuthIPRequest";
// 请求webservice
String result = callWebService(url, method, paramName, param);
return result;
}
/**
* 调用webservice
*
* @param url
* URL地址
* @param method
* 调用的方法名称
* @param paramName
* 传递的参数名称
* @param param
* 传递的参数
* @return 未解析的XML字符串
*/
private String callWebService(String url, String method, String paramName,
String param)
{
String resultStr = null;
try
{
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
// 设置要调用哪个方法
call.setOperationName(method);
// 设置要传递的参数
call.addParameter(paramName, XMLType.XSD_STRING, ParameterMode.IN);
// 要返回的数据类型(自定义类型)
call.setReturnType(XMLType.XSD_STRING);// (标准的类型)
call.setUseSOAPAction(true);
call.setSOAPActionURI(method);
// 调用方法并传递参数
resultStr = (String) call.invoke(new Object[] { param });
}
catch (MalformedURLException e)
{}
catch (ServiceException e)
{}
catch (RemoteException e)
{}
return resultStr;
}
<?xml version="1.0" encoding="UTF-8"?>
<service name="f