1.....................................创建一个Web动态工程
2....................................将CXF框架的lib导入工程
3...................................开发一个接口HelloWorld.java
package Server; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface HelloWorld { @WebMethod public String sayHi(String text); }
4.........................................实现该接口
package Server; import javax.jws.WebService; @WebService public class HelloWorldImpl implements HelloWorld { public String sayHi(String text) { System.out.println("进入Server"); return "Hi" + text; } }
5....................................创建ServiceTest.java用来发布接口
package Server; import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxws.JaxWsServerfactorybean; public class ServiceTest { public static void main(String[] args) { JaxWsServerfactorybean factory = new JaxWsServerfactorybean(); factory.setServiceClass(HelloWorld.class); factory.setAddress("http://localhost:8080/HelloWorld"); Server server = factory.create(); server.start(); } }
6.................................创建ClientTest.java用来调用接口(这里为了简化所以直接在同一个项目中写了)
package Server; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicclientFactory; public class ClientTest { public static void main(String[] args) throws Exception { JaxWsDynamicclientFactory ser = JaxWsDynamicclientFactory.newInstance(); Client client =ser.createClient("http://localhost:8080/HelloWorld?wsdl"); Object[] o = client.invoke("sayHi","sa"); System.out.println(o[0]); } }
7..................................线运行ServiceTest.java,如果能够在浏览器输入http://localhost:8080/HelloWorld?wsdl中看到wsdl文件说明发布成功了
8.................................运行ClientTest.java,如果控制台出现了Hisa返回结果,那么我们就完成了这个测试。
9...............................再多加一种客户端调用方法:
package Server; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.JaxWsProxyfactorybean; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicclientFactory; public class ClientTest { public static void main(String[] args) throws Exception { JaxWsProxyfactorybean factory = new JaxWsProxyfactorybean(); factory.setServiceClass(HelloWorld.class); factory.setAddress("http://localhost:8080/HelloWorld"); HelloWorld hello = (HelloWorld) factory.create(); System.out.println(hello.sayHi("sa")); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。