JAVA 调用WebService

来源:互联网 发布:知乎最好用的版本 编辑:程序博客网 时间:2024/06/08 12:19

调用webservice时遇到传参的问题,经过搜索得到解决方案

使用axis传参时,在设定参数时,不使用服务端定义的参数名,而是arg0~argN来定义。

上整个调用webservic代码以留后用。

import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.encoding.XMLType;public class WebServicesClient {public static void main(String[] args) {try {//webservicURLString endpoint = "http://localhost:8080/ws_server/weather";Service service = new Service();Call call = (Call) service.createCall();//设置目标端点地址call.setTargetEndpointAddress(endpoint);//WSDL里面描述的接口名称call.setOperationName(new QName("http://impl.webservice.weather.test.com/","testInterface"));/* * 在设定参数时,不使用服务端定义的参数名,而是arg0~argN来定义 */call.addParameter("arg0", XMLType.XSD_STRING,ParameterMode.IN);call.setReturnType(XMLType.XSD_STRING);//设置返回类型  String temp = "测试人员";//给方法传递参数,并且调用方法String result = (String)call.invoke(new Object[]{temp});System.out.println("返回结果: "+result);}catch (Exception e) {System.err.println(e.toString());}}}


原创粉丝点击