日期:2014-05-17 浏览次数:20639 次
/** * 调用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