- import javax.xml.namespace.QName;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- import org.apache.axis.encoding.XMLType;
- // .net webService 地址
- String url="http://localhost:1246/WebSite3/Service.asmx";
- // .net webService 命名空间
- String namespace = "http://tempuri.org/";
- // .net webService 需调用的方法
- String methodName = "HelloWorld";
- String soapActionURI = "http://tempuri.org/HelloWorld";
- Service service = new Service();
- Call call = (Call) service.createCall();
- call.setTargetEndpointAddress(new java.net.URL(url));
- call.setUseSOAPAction(true);
- // 这个地方没设对就会出现Server was unable to read request的错误
- call.setSOAPActionURI(soapActionURI);
- // 设置要调用的.net webService方法
- call.setOperationName(new QName(namespace, methodName));
- // 设置该方法的参数,temp为.net webService中的参数名称
- call.addParameter( new QName(namespace,"temp"),
- org.apache.axis.encoding.XMLType.XSD_STRING,
- javax.xml.rpc.ParameterMode.IN);
- // 设置该方法的返回值
- call.setReturnType(XMLType.XSD_STRING);
- // call.invoke(new Object[] { "kusix" }); 中"kusix"为传入参数值
- String ret = (String) call.invoke(new Object[] { "kusix" });
- System.out.println("返回结果---> " + ret);