1.创建HelloWorld 接口类
package com.googlecode.garbagecan.cxfstudy.helloworld; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; @WebService public 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?wsdl public 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。