cxf 实例解读
1.sample 實例之一---java_first_pojo
?服務(wù)端發(fā)布服務(wù)的方法:
1 HelloWorldImpl helloworldImpl = new HelloWorldImpl();//cxf發(fā)布服務(wù)的工廠bean 2 ServerFactoryBean svrFactory = new ServerFactoryBean();
//設(shè)置服務(wù)類 3 svrFactory.setServiceClass(HelloWorld.class);
//設(shè)置服務(wù)地址 4 svrFactory.setAddress("http://localhost:9000/Hello");
//設(shè)置服務(wù)bean 5 svrFactory.setServiceBean(helloworldImpl); 6 svrFactory.create();
客戶度調(diào)用的方法:
//創(chuàng)建服務(wù)代理工程beanClientProxyFactoryBean factory = new ClientProxyFactoryBean();
//設(shè)置服務(wù)代理地址 factory.setAddress("http://localhost:9000/Hello");
//創(chuàng)建代理服務(wù) HelloWorld client = factory.create(HelloWorld.class);
//調(diào)用代理服務(wù) System.out.println(client.sayHi(System.getProperty("user.name")));
2.sample實例之二---java_first_jaxws
服務(wù)端發(fā)布服務(wù)的方法:
1 HelloWorldImpl implementor = new HelloWorldImpl(); 2 String address = "http://localhost:9000/helloWorld"; 3 Endpoint.publish(address, implementor);客戶端調(diào)用的方法:
private static final QName SERVICE_NAME = new QName("http://server.hw.demo/", "HelloWorld");private static final QName PORT_NAME = new QName("http://server.hw.demo/", "HelloWorldPort");Service service = Service.create(SERVICE_NAME);// Endpoint AddressString endpointAddress = "http://localhost:9000/helloWorld";// If web service deployed on Tomcat deployment, endpoint should be changed to:// String endpointAddress = "http://localhost:8080/java_first_jaxws/services/hello_world";// Add a port to the Service service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);HelloWorld hw = service.getPort(HelloWorld.class);?
3. sample實例之---java_first_jaxws_factory_bean
服務(wù)端發(fā)布服務(wù)的方法:
1 HelloWorldImpl implementor = new HelloWorldImpl(); 2 JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean(); 3 svrFactory.setServiceClass(HelloWorld.class); 4 svrFactory.setAddress("http://localhost:9000/helloWorld"); 5 svrFactory.setServiceBean(implementor); 6 svrFactory.getInInterceptors().add(new LoggingInInterceptor()); 7 svrFactory.getOutInterceptors().add(new LoggingOutInterceptor()); 8 svrFactory.create();客戶端調(diào)用的方法:
1 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 2 factory.getInInterceptors().add(new LoggingInInterceptor()); 3 factory.getOutInterceptors().add(new LoggingOutInterceptor()); 4 factory.setAddress("http://localhost:9000/helloWorld"); 5 HelloWorld client = factory.create(HelloWorld.class); 6 System.out.println(client.sayHi("World"));4.sample實例之一---java_first_spring_support
服務(wù)端發(fā)布服務(wù)
1 /** 2 * Important: This code simply starts up a servlet container and adds 3 * the web application in src/webapp to it. Normally you would be using 4 * Jetty or Tomcat and have the webapp packaged as a WAR. This is simply 5 * as a convenience so you do not need to configure your servlet 6 * container to see CXF in action! 7 */ 8 org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server(); 9 10 SelectChannelConnector connector = new SelectChannelConnector(); 11 connector.setPort(9002); 12 server.setConnectors(new Connector[] {connector}); 13 14 WebAppContext webappcontext = new WebAppContext(); 15 webappcontext.setContextPath("/"); 16 17 webappcontext.setWar("target/JavaFirstSpringSupport.war"); 18 19 HandlerCollection handlers = new HandlerCollection(); 20 handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()}); 21 22 server.setHandler(handlers); 23 server.start(); 24 System.out.println("Server ready..."); 25 server.join();客戶度調(diào)用服務(wù):
1 ClassPathXmlApplicationContext context 2 = new ClassPathXmlApplicationContext(new String[] {"client-beans.xml"}); 3 4 HelloWorld client = (HelloWorld)context.getBean("client"); 5 6 String response = client.sayHi("Joe");?
客戶度調(diào)用小結(jié)
(引用http://blog.csdn.net/liaomin416100569/article/details/5503410)
1 UserServiceImplService serivce = new UserServiceImplService(); 2 UserServiceImpl impl = serivce.getUserServiceImplPort(); 1 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 2 factory.setAddress("http://localhost:8088/abc"); 3 QName SERVICE = new QName("http://liaomin", "UserServiceImplService"); 4 factory.setServiceName(SERVICE); 5 factory.setServiceClass(UserService.class); 6 UserService us = (UserService) factory.create(); 1 QName SERVICE = new QName("http://liaomin", "UserServiceImplService"); 2 QName UserServiceImplPort = new QName("http://liaomin", "UserServiceImplPort"); 3 URL url = new URL("http://localhost:8088/abc?wsdl"); 4 ServiceDelegate dele=Provider.provider().createServiceDelegate(url,SERVICE,Service.class); 5 UserService us = (UserService) dele.getPort(UserServiceImplPort,UserService.class); 1 ClientProxyFactoryBean factory = new ClientProxyFactoryBean(); 2 factory.setServiceClass(UserService.class); 3 factory.setAddress("http://localhost:8088/abc"); 4 // factory.getServiceFactory().setDataBinding(new AegisDatabinding()); 5 UserService client = (UserService) factory.create();?
?
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/archive/2013/03/17/2964084.html
總結(jié)
- 上一篇: Aop获取bean的过程---sprin
- 下一篇: 项目经理原则(转载)