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 }
代码说明:
传参均为String类型数据

--会劳动创造美好未来--
浙公网安备 33010602011771号