`
longgangbai
  • 浏览: 7315869 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CXF应用程序开发 WS 多个服务动态访问

阅读更多

官方网站:

 

https://cwiki.apache.org/CXF20DOC/dynamic-clients.html

    通常的方法来构建一个Web服务客户端,包括为服务(SEI)的,以及任何可用于输入和输出的客户端应用程序使用的类Java接口。这并不总是理想的或实际。

     CXF的支持多种办法,以允许应用程序进行通信,而无需SEI和数据类服务。 JAX - WS的指定的JAX - WS的Diapatch API,以及作为读取和编写XML提供程序接口。这页,但是,描述了CXF的动态客户设施。有了动态的客户,在运行时产生CXF的SEI和bean类,并允许您调用的API,通过采取对象,或通过使用反射来调用充分代理业务。

请注意,在一般情况下,CXF的只支持节水灌溉- BP的服务。如果您尝试创建一个WSDL使用功能之外的节水灌溉- BP公司一个动态的客户端,CXF的可能抛出一个异常。

CXF提供了两种工厂的用于访问动态类。DynamicClientFactory and JaxWsDynamicClientFactory,如果的服务采用JAX-WS策略,你可以使用JaxWsDynamicClientFactory。如果你不想或者不需要JAX-WS,可以使用DynamicClientFactory 。

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("echo.wsdl");

Object[] res = client.invoke("echo", "test echo");
System.out.println("Echo response: " + res[0]);

 

      Many WSDLs will have more complex types though. In this case the JaxWsDynamicClientFactory takes care of generating Java classes for these types. For example, we may have a People service which keeps track of people in an organization. In the sample below we create a Person object that was generated for us dynamically and send it to the server using the addPerson operation:

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("people.wsdl", classLoader);


Object person = Thread.currentThread().getContextClassLoader().loadClass("com.acme.Person").newInstance();

Method m = person.getClass().getMethod("setName", String.class);
m.invoke(person, "Joe Schmoe");

client.invoke("addPerson", person);

分享到:
评论
1 楼 NoGrief 2010-07-26  
很受不了这种用反射的开发模式,可能是为了简化OSGi的部署。。

相关推荐

    Cxf应用全部jar包

    【标题】"Cxf应用全部jar包"涵盖了Apache CXF框架的核心组件以及与Spring框架的集成,这是一套全面的库集合,旨在帮助开发者在Java环境中构建和部署Web服务。Apache CXF是一个开源的Java框架,它允许开发人员创建、...

    CXF协议WebService+Spring客户端和服务端程序,实现了多数据源动态切换

    多数据源是指一个应用程序可以连接并操作多个不同的数据库。这在需要处理大量数据或者需要在不同数据库之间进行数据迁移的场景下非常有用。动态切换数据源意味着系统可以根据需求或条件在运行时自动选择合适的数据源...

    spring+cxf 开发webservice

    综上所述,这个项目为Java开发者提供了一个使用Spring和CXF构建Web服务的起点,涵盖了从基础架构到具体实现的多个层次,有助于快速启动Web服务开发,并且能够在MyEclipse环境中无缝集成,方便进行进一步的定制和扩展...

    cxf server demo简单程序例子

    通过这个“CXF服务器端演示程序实例”,你可以学习到如何初始化CXF服务器,定义服务接口,配置服务,以及如何启动和测试服务。这将是一个很好的起点,帮助你进一步探索CXF在实际项目中的应用。在实践中,你可能会...

    WebService Axis和XFire(CXF)的开发流程

    总的来说,WebService的开发涉及多个步骤,包括服务的定义、实现、配置和部署,以及客户端的生成和调用。无论是Axis还是CXF,它们都提供了便捷的方式来处理这些任务,简化了开发者的工作。理解这两种框架的特性和...

    实战Web Service —— 使用Apache CXF开发Web服务的教程

    Web服务是一种在互联网上进行通信的标准协议,它允许应用程序之间进行数据交换。Apache CXF是一个开源框架,用于构建和部署Web服务,支持多种Web服务标准,如SOAP、RESTful API以及WS-*规范。本教程将带你深入理解...

    CXF开发webservice服务端

    Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP、XML/HTTP、REST等,使得开发基于Java的应用程序变得更加简单高效。本文将详细介绍如何使用Apache CXF框架来构建WebService服务器端,并通过实例...

    WebService CXF 详细教程

    5. **模块化设计**:CXF由多个模块组成,可以根据需要选择合适的部分进行使用,避免资源浪费。 **四、CXF的使用步骤** 1. **定义服务接口**:编写Java接口,声明服务的业务方法。 2. **生成服务类和端点**:使用...

    springboot整合CXF发布webservice和客户端调用

    SpringBoot简化了Spring应用程序的初始设置和配置,通过自动配置和“起步依赖”(Starter POMs)使开发者可以快速启动项目。它内嵌了Tomcat或Jetty服务器,使得部署无需额外的容器。 2. **Apache CXF简介** ...

    cxf WebService

    2. **Web服务基础**:Web服务是一种基于网络的应用程序接口,允许不同系统之间的数据交换。SOAP是一种XML格式的协议,用于交换结构化和类型化的信息。REST则是一种轻量级的架构风格,强调资源的获取和操作,通常通过...

    cxf开发map的demo

    服务通常部署在Servlet容器(如Tomcat)中,而客户端可以是一个独立的应用程序或者也在同一个容器内。 6. **测试与调试**:可以使用CXF的WS-Security、Message Tracing等功能进行测试和调试。对于Map类型的参数,...

    cxf所需JAR包和xsd文件

    CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,它提供了用于构建和服务导向架构(SOA)的应用程序。该框架支持多种Web服务标准,如SOAP、WS-*、RESTful等,同时也提供了与Spring框架的...

    spring整合cxf全jar包 一个都不能少和一个都不能多

    1. **Spring框架**:Spring是Java领域最流行的轻量级框架之一,它提供了一种模块化的方式来组织应用程序,包括依赖注入、面向切面编程(AOP)、事务管理、数据访问等。Spring的IoC容器使得开发者可以将对象之间的...

    cxf-2.7.10架包lib

    "cxf-2.7.10架包lib"指的是这个特定版本的CXF库文件集合,这些库文件通常用于构建和运行基于CXF的Java应用程序。 CXF的主要知识点包括: 1. **SOAP与RESTful服务**:CXF支持两种主要的Web服务标准:简单对象访问...

    基于Apache CXF构建SOA应用

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)的应用程序。SOA是一种设计模式,允许不同的系统通过网络共享服务,从而实现组件化和互操作性。Apache CXF是一个强大的工具,它使得创建...

    mybatis3 spring3 cxf

    在这个项目中,Spring 3被用来管理应用程序的组件,包括MyBatis的SqlSessionFactory和Mapper接口,以及可能存在的CXF服务。 **CXF** 是一个开源的Web服务框架,支持SOAP和RESTful风格的服务。CXF允许开发者创建和...

    webservice示例(cxf开发的例子)

    Web服务(Web Service)是一种基于网络的、松散耦合的软件模块,它提供了一种标准的方法,使得运行在不同的操作系统和平台上的应用程序可以互相交换数据。CXF(Apache CXF)是一个开源的Java框架,它用于构建和部署...

    cxf例子,认证,登录,客户端

    通常,这样的项目会有一个或多个Java类,用于定义服务接口和服务实现,还有一些配置文件,如Spring XML配置,用于装配服务和安全设置。此外,可能还包含测试代码,展示如何作为客户端调用这些服务并处理认证流程。 ...

Global site tag (gtag.js) - Google Analytics