zoukankan      html  css  js  c++  java
  • cxf 实例解读

    1.sample 实例之一---java_first_pojo

     服务端发布服务的方法:

    1         HelloWorldImpl helloworldImpl = new HelloWorldImpl();
             //cxf发布服务的工厂bean
    2         ServerFactoryBean svrFactory = new ServerFactoryBean();
         //设置服务类
    3         svrFactory.setServiceClass(HelloWorld.class);
         //设置服务地址
    4         svrFactory.setAddress("http://localhost:9000/Hello");
         //设置服务bean
    5         svrFactory.setServiceBean(helloworldImpl);
    6         svrFactory.create();
    
    

    客户度调用的方法:

    //创建服务代理工程bean
    ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
    //设置服务代理地址
    factory.setAddress("http://localhost:9000/Hello");
    //创建代理服务
    HelloWorld client = factory.create(HelloWorld.class);
    //调用代理服务
    System.out.println(client.sayHi(System.getProperty("user.name")));
    

    2 sample实例之二---java_first_jaxws

    服务端发布服务的方法:

    1         HelloWorldImpl implementor = new HelloWorldImpl();
    2         String address = "http://localhost:9000/helloWorld";
    3         Endpoint.publish(address, implementor);
    

    客户端调用的方法:

     

     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 Address
            String 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

    服务端发布服务的方法:

    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();
    

     客户端调用的方法:

    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

     服务端发布服务

    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();
    

      客户度调用服务:

    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");
    

      客户度调用小结

      (引用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();
    

      

      

      

  • 相关阅读:
    JavaScript 复制变量的三种方法
    WIndows cmd command 指令总结
    Linux 指令总结
    如何在当前目录下打开Windows cmd?
    git使用笔记(四)错误报告 Git push rejected error: fatal: refusing to merge unrelated histories
    CentOS(Linux)
    CentOS(Linux)
    异常描述:hibernate懒加载中,用OpenSessionInViewFilter解决之后,同时对一个collection创建两个session访问导致异常(Illegal attempt to associate a collection with two open sessions)
    【转】hibernate懒加载的问题,failed to lazily initialize a collection of role
    JavaWeb项目里面的路径获取方法总结
  • 原文地址:https://www.cnblogs.com/xiaotian-222/p/6586743.html
Copyright © 2011-2022 走看看