初试CXF
发布时间:2020-12-17 00:41:08 所属栏目:安全 来源:网络整理
导读:1.....................................创建一个Web动态工程 2....................................将CXF框架的lib导入工程 3...................................开发一个接口HelloWorld.java package Server;import javax.jws.WebMethod;import javax.jw
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")); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |