`
zxc3375
  • 浏览: 135617 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

cxf 实例解读

    博客分类:
  • java
cxf 
阅读更多

1.sample 实例之一---java_first_pojo

 服务端发布服务的方法:

HelloWorldImpl helloworldImpl = new HelloWorldImpl();
//cxf发布服务的工厂bean
ServerFactoryBean svrFactory = new ServerFactoryBean();
//设置服务类
svrFactory.setServiceClass(HelloWorld.class);
//设置服务地址
svrFactory.setAddress("http://localhost:9000/Hello");
//设置服务bean
svrFactory.setServiceBean(helloworldImpl);
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

服务端发布服务的方法:

 

HelloWorldImpl implementor = new HelloWorldImpl();
String address = "http://localhost:9000/helloWorld";
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

服务端发布服务的方法:

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

 

客户端调用的方法:

 

HelloWorldImpl implementor = new HelloWorldImpl();
JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
svrFactory.setServiceClass(HelloWorld.class);
svrFactory.setAddress("http://localhost:9000/helloWorld");
svrFactory.setServiceBean(implementor);
svrFactory.getInInterceptors().add(new LoggingInInterceptor());
svrFactory.getOutInterceptors().add(new LoggingOutInterceptor());
svrFactory.create();

 

4.sample实例之一---java_first_spring_support

服务端发布服务

/**
         * Important: This code simply starts up a servlet container and adds
         * the web application in src/webapp to it. Normally you would be using
         * Jetty or Tomcat and have the webapp packaged as a WAR. This is simply
         * as a convenience so you do not need to configure your servlet
         * container to see CXF in action!
         */
        org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server();

        SelectChannelConnector connector = new SelectChannelConnector();
        connector.setPort(9002);
        server.setConnectors(new Connector[] {connector});

        WebAppContext webappcontext = new WebAppContext();
        webappcontext.setContextPath("/");

        webappcontext.setWar("target/JavaFirstSpringSupport.war");

        HandlerCollection handlers = new HandlerCollection();
        handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()});

        server.setHandler(handlers);
        server.start();
        System.out.println("Server ready...");
        server.join();
 

客户度调用服务:

         ClassPathXmlApplicationContext context 
             = new ClassPathXmlApplicationContext(new String[] {"client-beans.xml"});
 
         HelloWorld client = (HelloWorld)context.getBean("client");
 
         String response = client.sayHi("Joe");
 

客户度调用小结

(引用http://blog.csdn.net/liaomin416100569/article/details/5503410)

  UserServiceImplService serivce = new UserServiceImplService();
  UserServiceImpl impl = serivce.getUserServiceImplPort();

 

   JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
   factory.setAddress("http://localhost:8088/abc");
   QName SERVICE = new QName("http://liaomin", "UserServiceImplService");
   factory.setServiceName(SERVICE);
   factory.setServiceClass(UserService.class);
   UserService us = (UserService) factory.create();
 
QName SERVICE = new QName("http://liaomin", "UserServiceImplService");
QName UserServiceImplPort = new QName("http://liaomin", "UserServiceImplPort");
URL url = new URL("http://localhost:8088/abc?wsdl");
ServiceDelegate dele=Provider.provider().createServiceDelegate(url,SERVICE,Service.class);
UserService us = (UserService) dele.getPort(UserServiceImplPort,UserService.class);
 
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setServiceClass(UserService.class);
factory.setAddress("http://localhost:8088/abc");
// factory.getServiceFactory().setDataBinding(new AegisDatabinding());
UserService client = (UserService) factory.create();
 
分享到:
评论

相关推荐

    CXF简单实例源码

    通过这个简单的CXF实例,我们能掌握如何使用CXF构建Web服务,理解服务的生命周期,以及如何进行单元测试。同时,对Maven、MyEclipse和JUnit的使用也会有更深入的理解。在实际开发中,这些知识和技能是非常基础且重要...

    java写的cxf实例

    【Java编写的CXF实例详解】 Java编程语言在企业级应用开发中占据着重要的地位,尤其是在Web服务领域。CXF,全称为CXF框架(Apache CXF),是一个强大的开源Java框架,用于构建和消费Web服务。它允许开发者通过Java ...

    CXF开发实例.pdf

    根据文件提供的内容,本篇文档是关于Apache CXF开发实例的详细说明,主要包含了Web服务的创建、部署以及相关技术的介绍。下面将分别详细阐述以下几个方面的知识点: ### CXF基础知识 Apache CXF是一个开源的服务...

    webservice天气预报例子cxf实例

    在本例中,“webservice天气预报例子cxf实例”指的是使用Apache CXF框架实现的一个天气预报相关的Web服务示例。 Apache CXF是一个开源框架,它为开发和部署Web服务提供了全面的支持。CXF允许开发者通过Java编程模型...

    CXF实例源代码(客户端)

    这个"CXF实例源代码(客户端)"压缩包提供了客户端调用Web服务的示例代码,对于初学者来说,是理解如何使用CXF进行Web服务交互的绝佳资源。 在Web服务的世界里,客户端通常负责发起请求并接收服务端的响应。CXF作为...

    CXF实例一 Maven构建

    【CXF实例一 Maven构建】是一个关于如何使用Maven来构建Apache CXF项目的教程。Apache CXF是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)的应用程序,它支持多种Web服务标准,如SOAP、RESTful、WS-*...

    webservice使用cxf的实例

    【标题】:“Web服务使用CXF的实例” 在IT行业中,Web服务是一种通过网络进行通信的标准接口,使得不同系统能够相互通信并交换数据。CXF(Code First eXtensible Framework)是Apache软件基金会的一个开源项目,它...

    springboot+cxf实例

    一个用springboot搭建的简单的cxf实例,可以用于入门跟学习

    CXF实例以及全面讲解(part2)

    CXF实例以及全面讲解(附带开发工具包:part1、part2、part3)请大家分别下载

    cxf开发实例2

    【标题】:“CXF开发实例2” 在Java世界中,CXF是一个开源的服务框架,它允许开发者创建和消费各种Web服务。本实例将深入探讨如何使用CXF进行Web服务客户端的开发,帮助开发者理解并掌握CXF的核心概念和技术。通过...

    cxf实例的java类和配置文件

    我们将重点关注CXF实例中的Java类和配置文件,这些都是创建和运行Web服务的关键组件。 首先,让我们了解CXF的核心概念。CXF提供了两种主要的方式来实现Web服务:JAX-WS(Java API for XML Web Services)和JAX-RS...

    CXF实例源代码(服务器端)

    【CXF实例源代码(服务器端)】是一个用于学习和实践Apache CXF框架的入门教程,专注于构建Web服务。Apache CXF是一个开源的Java框架,主要用于创建和消费Web服务,它支持多种协议和标准,如SOAP、RESTful、WS-*等。...

    webservice之cxf实例

    【描述】:在这个“webservice之cxf实例”中,我们将深入学习Apache CXF框架在实现Web服务中的具体操作。首先,我们需要了解CXF的基本概念,它作为一个服务端和客户端的栈,支持多种协议和标准,包括SOAP、RESTful、...

    cxf spring maven 实例

    【标题】"CXF Spring Maven 实例"是一个关于如何整合并使用这些技术创建Web服务的教程。CXF是一个开源框架,主要用于构建和部署SOAP和RESTful Web服务,Spring则是一个广泛应用的Java企业级开发框架,而Maven是项目...

    CXF实例

    【CXF实例】是一个关于Apache CXF框架的实践教程,主要涵盖了如何使用CXF进行Web服务的开发和消费。Apache CXF是一个开源的Java框架,它允许开发者创建和消费各种Web服务,包括SOAP和RESTful服务。这个实例可能涉及...

    Spring CXF Restful 实例

    在这个“Spring CXF Restful实例”中,我们将深入探讨如何利用Spring CXF来创建RESTful API。REST(Representational State Transfer)是一种软件架构风格,常用于构建现代Web服务,强调简洁、无状态和基于标准的...

    cxf简单实例 服务端与客户端

    在这个“cxf简单实例 服务端与客户端”中,我们将探讨如何使用CXF来创建服务端和客户端应用。 服务端开发是Web服务的核心部分。在CXF中,服务端通常通过以下步骤建立: 1. 定义服务接口:首先,我们需要定义一个...

    cxf+spring接口实例

    本教程将通过一个具体的"CXF+Spring接口实例"来探讨如何使用这两种技术实现Web服务并进行测试。 首先,让我们理解CXF的核心功能。CXF允许开发者使用Java编程语言来实现Web服务接口,这被称为Java API for RESTful ...

    Spring集成开发CXF实例

    **Spring集成开发CXF实例详解** 在现代Java企业级应用开发中,Spring框架因其强大的依赖注入、AOP(面向切面编程)以及丰富的模块支持,成为开发者首选的框架之一。而CXF则是一款优秀的开源服务栈,它支持SOAP、...

    CXF实例以及全面讲解(part1)

    CXF实例以及全面讲解(附带开发工具包:part1、part2、part3)请大家分别下载

Global site tag (gtag.js) - Google Analytics