直接上代码:
1 package utils; 2 3 import java.net.MalformedURLException; 4 import java.rmi.RemoteException; 5 6 import javax.xml.namespace.QName; 7 import javax.xml.rpc.ServiceException; 8 import javax.xml.rpc.ParameterMode; 9 import javax.xml.rpc.encoding.XMLType; 10 11 import org.apache.axis.client.Call; 12 import org.apache.axis.client.Service; 13 14 import com.teamcenter.rac.util.MessageBox; 15 16 public class WebserviceUtil { 17 18 /**调用webservice.asmx接口 19 * 20 * @param method 需要调用的方法 21 * @param param 传递的参数json串 22 */ 23 public static void callWebserviceASMX(String method,String param){ 24 //获取webservice接口地址 25 String url = "http://IP地址.../Webservice.asmx?wsdl"; 26 //获取域名地址,server定义的 27 String soapaction = "http://tempuri.org/"; 28 29 Service service = new Service(); 30 31 try { 32 Call call = (Call) service.createCall(); 33 call.setTargetEndpointAddress(new java.net.URL(url)); 34 35 call.setSOAPActionURI(soapaction+method); 36 //设置要调用的方法 37 call.setOperationName(new QName(soapaction,method)); 38 39 //设置要传递的参数 40 call.addParameter(new QName(soapaction,"tem:json"), org.apache.axis.encoding.XMLType.XSD_STRING, ParameterMode.IN); 41 42 //设置要返回的数据类型 43 // call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING, String.class); 44 // call.setReturnType(new QName(soapaction,method), String.class); 45 call.setReturnType(XMLType.SOAP_STRING); 46 47 call.setUseSOAPAction(true); 48 49 //调用方法并传递参数 50 String result = (String) call.invoke(new Object[]{param}); 51 52 System.out.println("调用接口后的返回值:::"+result); 53 54 55 } catch (ServiceException e) { 56 e.printStackTrace(); 57 } catch (RemoteException e) { 58 MessageBox.post("Webservice接口调用出错", "提示", 2); 59 e.printStackTrace(); 60 } catch (MalformedURLException e) { 61 e.printStackTrace(); 62 } 63 } 64 65 66 }