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