idea+axis建立webservice服务以及客服端调用

  • Post author:
  • Post category:其他


1 idea新建webservice项目,加入依赖包和tomcat

2 新建服务类以及方法,并生成wsdl文件

3 编写客服端,用axis框架调用即可,代码如下:(注意:当客服端调用服务的时候,在总wsdd文件中,service中属性style=“”document“”要去掉。否则报错 axis包可以在我博客下载

package test;

import org.apache.axis.client.Service;

import org.apache.axis.client.Call;

import javax.xml.namespace.QName;

public class TestWebService {


/**

* @param args

*/

public static void main(String[] args) {


Service service = new Service();

String url = “http://localhost:8080/services/HelloWorld?wsdl”;//调用的服务地址

try {


Call call = (Call)service.createCall();//创建工具call

call.setTargetEndpointAddress(new java.net.URL(url));//设置地址

call.setOperationName(new QName(“http://example”,”sayHelloWorldFrom”));//与服务器端保持一致

call.addParameter(new QName(“from”),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);//


//“from”是接口服务端方法体中的实体类所声明的变量名称



call.setUseSOAPAction(true);//

是否是soapaction这里需要看webservice是否要求如下格式,如果没有要求可以不添加此设置


call.setReturnType(org.apache.axis.encoding.XMLType.SOAP_STRING);

String result = (String)call.invoke(new Object[]{“Tom”});

System.out.println(result);

} catch (Exception e) {


e.printStackTrace();

}

}

}

源码下载

https://git.coding.net/helloxiansen/WebServiceProject.git



版权声明:本文为limingzhu001原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。