个人工程目录全景截图:java
(jar包有不少,截图里只是一部分,请无视person.java文件,那个是后来测试用的)web
下面咱们来一步步搭建这个webservice 。apache
[1]eclipse新建工程 dynamic web projectapp
引入cxf等一系列jar包,并注意文件摆放位置(能够登录CXF官方站点:http://cxf.apache.org/下到。有空过些时候考虑放个下好的压缩包文件连接上来)eclipse
[2]新建一个接口类 IHelloCXFService.java测试
package cxf.server; import javax.jws.WebService; import cxf.model.Person; @WebService public interface IHelloCXFService { public String sayHello(String name); }
[3]新建一个java类来继承这个接口 IHelloCXFService.javacode
package cxf.server; import javax.jws.WebService; import cxf.model.Person; @WebService public class IHelloCXFServiceImpl implements IHelloCXFService { public String sayHello(String name) { System.out.println("sayHello方法被调用"); return "你好!" + name; } }
[4]写一个java类来发布这个webservice MainServer.javaserver
package cxf.server; import javax.xml.ws.Endpoint; import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; public class MainServer { public static void main(String[] args) { //经过CXF提供的JaxWsServerFactoryBean来发布webservice JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); factory.setServiceClass(IHelloCXFServiceImpl.class); factory.setAddress("http://localhost:8080/HelloWorld"); Server server = factory.create(); server.start(); } }
[5]写到这里,右击mainserver.java文件,选择java application运行xml
访问一下 http://localhost:8080/HelloWorld?wsdl继承
若是出现以下相似界面,则说明以前操做正确,咱们继续。
[6]编写一个客户端测试类 HelloWorldClient.java
package cxf.client; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import cxf.model.Person; import cxf.server.IHelloCXFService; public class HelloWorldClient { public static void main(String[] args) { JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setAddress("http://localhost:8080/HelloWorld"); factory.setServiceClass(IHelloCXFService.class); IHelloCXFService helloWorld = (IHelloCXFService) factory.create(); System.out.println(helloWorld.sayHello("yuyu")); } }
[7]到此为止,代码部分已所有写完。
下面跑一遍测试
先运行mainserver.java
再运行HelloWorldClient.java
服务端控制台输出结果:
客户端控制台输出结果:
测试成功。