webservice

2020-03-12  本文已影响0人  MrP_f220

webservice接口 跟 webapi 区别:

webservice  做为服务端无法监控接口 ;

webservice接口的实现:

1. 使用Service;

首先准备好json格式的数据,其次必要代码如下

Service service = new Service();

Call call = (Call) service.createCall();

call.setTargetEndpointAddress(new java.net.URL(url));     //url为接收地址及端口

call.setOperationName("sendERPTodo");    //wsdl中接收数据的方法 

call.addParameter("arg0",org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); //必要参数,具体百度哈哈 只管教你实现代码 这也是大多数人需要的

call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);   //注意格式

call.setUseSOAPAction(true);

String result = (String) call.invoke(new Object[] {data.toString() });   // 此处为执行,注意异常处理

2.  jdk原生 

URL url = new URL("http://192.168.0.101:8089/myservice?wsdl");

// 指定命名空间和服务名称

QName qName = new QName("http://com.soft.ws/my", "MyService");

Service service = Service.create(url, qName);

// 通过getPort方法返回指定接口

MyService myServer = service.getPort(new QName("http://com.soft.ws/my",

"LoginPort"), MyService.class);

// 调用方法 获取返回值

String result = myServer.authorization("admin", "123456");

3.httpClient

HttpClient httpClient =new HttpClient();

    PostMethod post = new PostMethod(url); // 这里是post方式

post.addRequestHeader("token", "ybwy2019interface");

post.addRequestHeader("Content-Type", "application/json");

JSONObject json=new JSONObject();

json.put("datas", data);

RequestEntity requestEntity = new StringRequestEntity(data, "application/json;charse=UTF-8", "UTF-8");

 post.setRequestEntity(requestEntity);

 httpClient.executeMethod(post); 

String respStr = post.getResponseBodyAsString();   //获取返回值

 post.releaseConnection(); //释放连接

上一篇下一篇

猜你喜欢

热点阅读