使用Apache CXF创建简单Web Service
1.创建HelloWorld 接口类package com.googlecode.garbagecan.cxfstudy.helloworld;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;@WebServicepublic interface HelloWorld {public @WebResult(name="String")String sayHi(@WebParam(name="text") String text);}
2.创建HelloWorld实现类
package com.googlecode.garbagecan.cxfstudy.helloworld;public class HelloWorldImpl implements HelloWorld {public String sayHi(String name) {String msg = "Hello " + name + "!";System.out.println("Server: " + msg);return msg;}}
3.创建Server端测试类
package com.googlecode.garbagecan.cxfstudy.helloworld;import org.apache.cxf.jaxws.JaxWsServerFactoryBean;// http://localhost:9000/HelloWorld?wsdlpublic class Server {public static void main(String[] args) throws Exception {HelloWorld helloWorld = new HelloWorldImpl();JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();factory.setServiceClass(HelloWorld.class);factory.setAddress("http://localhost:9000/HelloWorld");factory.setServiceBean(helloWorld);factory.create();System.out.println("Server start...");Thread.sleep(60 * 1000);System.out.println("Server exit...");System.exit(0);}}
4.创建Client端测试类
package com.googlecode.garbagecan.cxfstudy.helloworld;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;public class Client {public static void main(String[] args) {JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();factory.setServiceClass(HelloWorld.class);factory.setAddress("http://localhost:9000/HelloWorld");HelloWorld helloworld = (HelloWorld) factory.create();System.out.println(helloworld.sayHi("kongxx"));System.exit(0);}}
5.测试
首先运行Server类来启动Web Service服务,然后访问http://localhost:9000/HelloWorld?wsdl地址来确定web service启动正确。
运行Client测试类,会在命令行输出Hello kongxx!的message。
页:
[1]