WebService学习总结 五 使用cxf 开发webService
一 在服务器端导入cxf的开发包 编写服务端代码,和使用jdk开发一样,启动服务,看到?org.eclipse.jetty.server.AbstractConnector doStart 说明使用cxf的服务。 二 编写客户端代码 此次不使用jdk的命令wsimport,也可以使用wsdl2java命令,在cxf的开发文档里apache-cxf-2.5.9bin,由于没有配置环境变量,要写wsdl2java的全路径,如果报错,需要加参数 -frontend jaxws21,? 格式是:wsdl2java的全路径?-frontend jaxws21 wsdl文档的路径 wsimport 和 上面的那种方式都可以用来生成客户端代码。 SEI接口: package com.ws; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface SayHelloWS { @WebMethod public String sayHello(String str); } SEI接口实现: package com.ws; import javax.jws.WebService; @WebService public class SayHelloWSImpl implements SayHelloWS { @Override public String sayHello(String str) { System.out.println("hello:"+str); return "hello:"+str; } } 发布: package com.ws; import javax.xml.ws.Endpoint; public class TestServer { public static void main(String[] args) { String address="http://192.168.1.101:8889/WS/SayHelloWS"; Endpoint.publish(address,new SayHelloWSImpl()); System.out.println("发布成功"); } } 客户端代码: wsdl2java生成部分: /ws_cxf_client/src/com/ws/ObjectFactory.java 测试代码: package com.test; import com.ws.SayHelloWS; import com.ws.SayHelloWSImplService; public class TestClient { public static void main(String[] args) { SayHelloWSImplService factory=new SayHelloWSImplService(); SayHelloWS ws=factory.getSayHelloWSImplPort(); String rees=ws.sayHello("tom"); System.out.println("client:"+rees); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |