1.首先写一个Webservice服务端
1.1创建一个web项目,到官网上下载压缩包:apache-cxf-2.6.0.zip (版本可以自己选择下载2.6.0)
将压缩包中lib下的jar全部加到项目中,之后开始着手代码
创建一个接口:
package com.ccl.server;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.WebService;
@WebService
public interface WebServiceTest {
//传参数
String WebServiceFunction1(@WebParam(name="param")String param);
String WebServiceFunction2 ();
public interface WebServiceTest {
//传参数
String WebServiceFunction1(@WebParam(name="param")String param);
String WebServiceFunction2 ();
}
在接口上面加上 注解@WebService
创建一个接口实现类:
package com.ccl.server;
@WebService(endpointInterface="com.ccl.server.WebServiceTest",serviceName="WebServiceTest")
public class WebServiceTestImpl implements WebServiceTest {
@Override
public String WebServiceFunction1(String param) {
// TODO Auto-generated method stub
return "this is a WebServiceFunction1 output param is"+param;
}
public String WebServiceFunction1(String param) {
// TODO Auto-generated method stub
return "this is a WebServiceFunction1 output param is"+param;
}
@Override
public String WebServiceFunction2() {
// TODO Auto-generated method stub
return "this is a WebServiceFunction1 output no param ";
}
public String WebServiceFunction2() {
// TODO Auto-generated method stub
return "this is a WebServiceFunction1 output no param ";
}
}
创建一个发布类:
package com.ccl.server;
import javax.xml.ws.Endpoint;
public class WebServiceTestMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebServiceTestImpl wsti = new WebServiceTestImpl();
String address = "http://localhost:8080/WebServiceTest";
Endpoint.publish(address, wsti);
System.out.println("webservice started success");
// TODO Auto-generated method stub
WebServiceTestImpl wsti = new WebServiceTestImpl();
String address = "http://localhost:8080/WebServiceTest";
Endpoint.publish(address, wsti);
System.out.println("webservice started success");
}
}
运行main方法 ,输出webservice started success信息
打开浏览器访问:http://localhost:8080/WebServiceTest?wsdl 访问成功代表WebService发布成功
2.创建WebService客户端
解压apache-cxf-2.6.0.zip
打开cmd
进入apache-cxf-2.6.0/bin目录下输入wsdl2java -p com.ccl.client -d e:\ -all http://localhost:8080/WebServiceTest?wsdl 回车
到 e盘会看见生成一个com的文件夹,里面自动生成了很多代码
接着创建一个web项目作为webservice的客户端
将生成的代码复制进去,
找到WebServiceTest_WebServiceTestImplPort_Client.java
找到代码
{
System.out.println("Invoking webServiceFunction1...");
java.lang.String _webServiceFunction1_param = "";
java.lang.String _webServiceFunction1__return = port.webServiceFunction1(_webServiceFunction1_param);
System.out.println("webServiceFunction1.result=" + _webServiceFunction1__return);
System.out.println("Invoking webServiceFunction1...");
java.lang.String _webServiceFunction1_param = "";
java.lang.String _webServiceFunction1__return = port.webServiceFunction1(_webServiceFunction1_param);
System.out.println("webServiceFunction1.result=" + _webServiceFunction1__return);
}
可以给webServiceFunction1_param赋值
然后运行main函数,即可看到正确的输出
一个简单的WebService例子就创建成功了!