目录
前言一、接口类型二、使用步骤1.访问方式2.导入的maven前言
接触到一个.asmx结尾的webservice接口,为了增加记忆决定记录下来。
一、接口类型
已.asmx结尾的接口
例:接口地址:http://IP地址/xxx/service/xxx/xxxx.asmx 方法名:test 参数类型:string
二、使用步骤
1.访问方式
代码如下(示例):
controller类:
String s = clientUtil.test("http://IP地址/xxx/service/xxx/xxxx.asmx", "test","test");
调用类:
public static String test(String Url, String methodName, String str) throws Exception { String ref = null; // webService链接地址 String url = Url; //获取域名地址,server定义的 String soapaction = "http://tempuri.org/"; Service service = new Service(); try { Call call = (Call) service.createCall(); call.setTargetEndpointAddress(url); // 设置要调用哪个方法 call.setOperationName(new QName(soapaction, methodName)); // 设置要传递的参数名 call.addParameter(new QName(soapaction,"str"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN); // 提供标准类型 有addParameter就必须有setReturnType call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); call.setUseSOAPAction(true); call.setSOAPActionURI(soapaction + methodName); // 调用方法并传递参数 ref = (String) call.invoke(new Object[]{str}); return ref; } catch (Exception e) { e.printStackTrace(); } return ref; }
2.导入的maven
如下:
<dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>axis</groupId> <artifactId>axis-jaxrpc</artifactId> <version>1.4</version> </dependency>
参考:
[1]https://blog.csdn.net/qq_34302802/article/details/101197464