WebserviceClientUtil//最简代码

理论:

  不管是springMVC或是struts2等等都是基于HTTP协议的,而webservice是基于soap协议,说到底就是这两者的区别。Webservice是跨语言的,不同语言之间只要遵循相对应的soap协议即可,服务器暴露的服务不同,soap协议就不同。

  soap协议是xml格式文件,客户端的创建需要根据相对应的soap协议。

客户端代码:

 

 1 package clientDemo;
 2 
 3 import java.net.URL;
 4 
 5 import org.apache.axis.client.Call;  
 6 import org.apache.axis.client.Service;
 7 
 8 public class WebServiceDemo {
 9 
10     public  void webServiceMethod3() throws Exception {  
11         Service sv = new Service();  //new 一个服务  
12         Call call = (Call) sv.createCall();  //创建一个call对象  
13         call.setTargetEndpointAddress(new URL("http://localhost:8080/cxf_spring_server/ws/hello?wsdl"));  //设置要调用的接口地址以上一篇的为例子  
14         call.setOperationName(new javax.xml.namespace.QName("http://server.cxf.ws/","sayHello"));  //设置要调用的接口方法  
15         call.addParameter("arg0", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);//设置参数名 id  第二个参数表示String类型,第三个参数表示入参  
16         call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//返回参数类型  
17         //开始调用方法,假设我传入的参数id的内容是1001   调用之后会根据id返回users信息,以xml格式的字符串返回,也可以json格式主要看对方用什么方式返回  
18         String result = (String) call.invoke(new Object[]{"1001"});  
19         System.out.println(result);//打印字符串  
20     }
21     // main
22     public static void main(String[] args) {
23         WebServiceDemo webServiceDemo=new WebServiceDemo();
24         try {
25             webServiceDemo.webServiceMethod3();
26         } catch (Exception e) {
27 //            e.printStackTrace();
28             System.err.println("Caught MalformedURLException (" + e.getStackTrace() + "): " + e.getMessage());
29         }
30 
31     }
32 
33 }
View Code

 

代码说明:

  传参均为String类型数据

 

posted on 2017-07-27 17:45  调适hanxs4  阅读(825)  评论(0)    收藏  举报

导航