Java调用Webservice接口(.asmx后缀)
以前一直是调用的.wsdl后缀的接口,这次客户突然给我.asmx后缀的接口,猝不及防,好在我们有度娘,有Google,没花多少工夫就解决了,在此,写篇博客记录一下,为了自己以后更好的调阅,如果有幸能帮助你,更是锦上添花。
1 /**调用webservice.asmx接口 2 * 3 * @param method 需要调用的方法 4 * @param json 传递的参数 5 */ 6 public static void callWebserviceASMX(String method,String json){ 7 //获取webservice接口地址 8 String url = "http://xxxx/xx/Webservice.asmx"; 9 //获取域名地址,server定义的 10 String soapaction = "http://tempuri.org/"; 11 12 Service service = new Service(); 13 14 try { 15 Call call = (Call) service.createCall(); 16 call.setTargetEndpointAddress(url); 17 //设置要调用的方法 18 call.setOperationName(new QName(soapaction,method)); 19 //设置要返回的数据类型 20 call.setReturnType(new QName(soapaction,method), String.class); 21 22 call.setUseSOAPAction(true); 23 24 call.setSOAPActionURI(soapaction+method); 25 //调用方法并传递参数 26 String result = (String) call.invoke(new Object[]{json}); 27 28 System.out.println("result is:::"+result); 29 30 31 } catch (ServiceException e) { 32 e.printStackTrace(); 33 } catch (RemoteException e) { 34 e.printStackTrace(); 35 } 36 }