调用webservice,axis2

来源:互联网 发布:忧伤的嫖客知乎 编辑:程序博客网 时间:2024/06/10 07:36

直接我就贴码了,大家如有疑问可以给我留言,大家互相学习。

webservice方法

public class Webservice {/** * tmp 为对方传递给你需要的数据(当然根据需要自己可以考虑用xml 或者是字符串) * @param tem * @return */public String doThing(String tem) {String returntmp = "";//这个变量你可以返回给对方一个日志,这样对于以后查看数据互调的成功与否有好处。System.out.println(tem);return returntmp;}}

调用webservice的方法。(调用java的webservice和asp 的webservice的方法一样。这里是java的调用方法,net只要把webservice地址和方法改下就行了)
package org.xhy.action;import java.net.URL;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 Test {public static void main(String[] args) {//你的webservice地址String webserviceurl = "http://localhost:9090/Axis2WebService/Webservice.jws?wsdl";Service service = new Service();try {Call call = (Call) service.createCall();call.setTargetEndpointAddress(new URL(webserviceurl));//doThing为你的webservice方法的名字,XSD_STRING为传递字符的类型call.setOperationName(new QName("http://tempuri.org/", "doThing"));call.addParameter(new QName("http://tempuri.org/", "Args"),XMLType.XSD_STRING, ParameterMode.IN);call.setUseSOAPAction(true);call.setReturnType(XMLType.SOAP_STRING);call.setSOAPActionURI("http://tempuri.org/doThing");//传递的参数String params = "qqqqq";String result = (String) call.invoke(new Object[] { params });} catch (Exception e) {e.printStackTrace(java.lang.System.err);}}}