CXF下载地址:http://cxf.apache.org/download.html
解压后可以看到lib、bin、docs等目录。在lib有我们需要的jar包。
在eclipse中创建一个java项目,并引入lib下面的包
import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface ICaculateService { public String getName(@WebParam(name="name")String name); }
在创建CaculateService类来实现ICaculateService接口
import javax.jws.WebParam; import javax.jws.WebService; import javax.jws.soap.soAPBinding; import javax.jws.soap.soAPBinding.Style; @WebService @SOAPBinding(style=Style.RPC) public class CaculateService implements ICaculateService { public String getName(@WebParam(name="name")String name) { return "chenbin"; } }
接下来部署WebService
public class DeployWebService { public static void deployService() { Sy@R_404[email protected]("server start ..."); ICaculateService service = new CaculateService(); String addresstring = "http://localhost:9000/caculate"; Endpoint.publish(addresstring,service); } public static void main(String[] args) throws InterruptedException { deployService(); Sy@R_404[email protected]("server ready ..."); Thread.sleep(1000*60); Sy@R_404[email protected]("server exiting"); Sy@R_404[email protected](0); } }
WebService发布好之后,就创建一个客户端来调用这个服务。在同一个项目中,创建Client类
import org.apache.cxf.jaxws.JaxWsProxyfactorybean; public class Client { public static void main(String[] args) { JaxWsProxyfactorybean factory1 = new JaxWsProxyfactorybean(); factory1.setServiceClass(ICaculateService.class); factory1.setAddress("http://localhost:9000/caculate"); ICaculateService service = (ICaculateService) factory1.create(); Sy@R_404[email protected](service.getName("")); } }
我们也可以新建一个项目来调用刚刚发布的WebService。需要把ICaculateService重写一遍,并且命名空间也要相同。代码和Client类是一样的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。