`

CXF 客户端调用

    博客分类:
  • Java
 
阅读更多
package com.crazycoder2010.webservice.cxf.client;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import com.crazycoder2010.webservice.cxf.server.HelloWorldService;

public class Client {
public static void main(String[] args) {
JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();
bean.getInInterceptors().add(new LoggingInInterceptor());
bean.getInFaultInterceptors().add(new LoggingOutInterceptor());
bean.setServiceClass(HelloWorldService.class);
bean.setAddress("http://localhost:9090/helloWorldService");
HelloWorldService helloWorldService = (HelloWorldService)bean.create();
String result = helloWorldService.sayHello("Kevin");
System.out.println(result);
}
}
小结:这种调用service的好处在于调用过程非常简单,就几行代码就完成一个webservice的调用,但是客户端也必须依赖服务器端的接口,这种调用方式限制是很大的,要求服务器端的webservice必须是java实现--这样也就失去了使用webservice的意义
查看了官方的文档后,发现其实是可以实现不依赖服务器端接口来完成调用的,如下
使用JaxWsDynamicClientFactory类,只要指定服务器端wsdl文件的位置,然后指定要调用的方法和方法的参数即可,so simple!!
package com.crazycoder2010.webservice.cxf.client;

import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

public class Client3 {
public static void main(String[] args) throws Exception {
JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();
Client client = clientFactory.createClient("http://localhost:9090/helloWorldService?wsdl");
Object[] result = client.invoke("sayHello", "KEVIN");
System.out.println(result[0]);
}
}
分享到:
评论

相关推荐

    cxf客户端调用axis服务端流程

    本文将深入探讨如何使用CXF客户端调用Axis服务端的流程。 ### 一、了解CXF和Axis **CXF**(CXF: Composite eXtensible Framework)是一个开源的Java Web服务框架,它提供了多种方式来创建和使用Web服务,包括JAX-...

    CXF客户端调用例子

    CXF客户端调用例子展示了如何使用CXF来创建和消费Web服务。这个例子包含了服务端和客户端两部分,两者都是用Java语言编写的。 在Java中,CXF提供了丰富的API和工具,使得开发者能够方便地实现SOAP(Simple Object ...

    Java webservice cxf客户端调用demo和服务端

    Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...

    cxf客户端调用axis服务端流程.docx

    ### CXF客户端调用Axis服务端流程详解 #### 一、概述 在现代软件开发过程中,Web服务(尤其是SOAP服务)被广泛应用于不同系统间的通信。Apache CXF是一款开源框架,支持开发和部署RESTful及SOAP web服务。而Apache...

    webservice的cxf框架客户端调用所需jar包

    这些JAR包组合在一起,为CXF客户端调用提供了完整的环境,包括XML解析、SOAP消息处理、加密安全、缓存优化、消息传递以及依赖管理等多个方面。在实际项目中,将这些JAR包放入项目的`lib`目录下,确保了所有必要的...

    cxf客户端调用webservice所需jar包

    本篇将详细讲解如何利用CXF客户端来调用Web服务以及所需的jar包。 首先,让我们了解CXF的基本概念。CXF是一个用于构建和服务导向架构(SOA)应用程序的开源框架。它支持多种Web服务标准,如SOAP、WSDL、WS-Security...

    CXF作为客户端调用webService的demo

    用CXF作为客户端调用webService的demo:本人亲测可用,eclipse工程项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。

    CXF客户端调用以及发布服务

    以下是一个CXF客户端代码示例,用于调用远程服务的方法: ```java public class CXFClientSample { public static void main(String[] args) throws Exception { JaxWsProxyFactoryBean factory = new ...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    本教程将详细介绍如何利用Spring Boot与CXF进行集成,以发布Web服务并实现用户和密码验证的客户端调用。 首先,我们需要在Spring Boot项目中引入CXF的依赖。这通常通过在`pom.xml`文件中添加对应的Maven依赖来完成...

    CXF客户端支持最少jar

    CXF客户端是开发人员用来与CXF服务交互的重要组件,它允许我们轻松地调用远程Web服务。然而,为了减小程序的体积和依赖性,有时我们需要精简CXF客户端所依赖的jar包。本文将深入探讨如何配置和使用CXF客户端所需的...

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

    - 对于客户端调用,可以使用CXF的`JaxWsProxyFactoryBean`创建服务代理对象,然后调用其方法进行服务调用。 4. **项目结构** - `.classpath`和`.project`是Eclipse IDE的项目配置文件。 - `pom.xml`是Maven的...

    cxf客户端所需jar包-4个

    标题 "cxf客户端所需jar包-4个" 暗示了这四个JAR文件是Apache CXF框架中用于构建客户端应用程序的基本组件,使得开发者能够方便地调用Web服务。Apache CXF是一个开源的Java框架,它允许创建和消费Web服务,支持多种...

    cxf_axis_xfire客户端调用的几种方法[收集].pdf

    在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会通过服务接口类来实现。在给出的示例中,`TestService`接口定义了几个服务方法,如`...

    CXF客户端生成器

    【CXF客户端生成器】是基于Apache CXF框架的一个实用工具,主要用于自动生成Java客户端代码,使得开发者可以方便地调用Web服务。Apache CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者创建和消费各种Web...

    CXF客户端添加soapHeader代码 + jar包 + apache-cxf-3.1.15

    以上步骤展示了如何在CXF客户端中添加SOAP Header,这个过程涉及到CXF客户端的配置、自定义Header处理以及服务调用。通过这样的方式,我们可以灵活地控制SOAP请求中的Header信息,满足各种服务交互的需求。记得根据...

    CXF客户端,自动生成方式

    当我们谈论“自动生成”CXF客户端时,通常是指利用IDE中的功能,根据服务的WSDL(Web Service Description Language)文档,自动生成对应的客户端代码。在MyEclipse这样的IDE中,这个过程相当直观。以下是具体步骤:...

    cxf_axis_xfire客户端调用的几种方法.docx

    1. **CXF客户端调用** CXF是一个开源的Java框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。对于客户端调用,CXF提供了一种基于接口的方式,这使得调用服务就像调用本地方法一样简单。 **服务接口定义:** ```...

    apache-cxf-2.7.7以及cxf客户端所需要的jar包

    这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费Web服务至关重要,特别是对于使用命令行生成Web服务客户端的开发者...

    webservice四种发布方式及客户端调用

    CXF 客户端调用提供了一种更稳定的方法,尤其是在调用 CXF 自身发布的服务时更为方便。 **调用示例:** - 使用 CXF 客户端调用或其他方式调用 ### 总结 以上介绍了 WebService 的四种常见发布方式及其客户端调用...

    CXF与web项目服务端整合的例子以及客户端调用详细说明

    二、CXF客户端调用 1. 创建服务代理:客户端首先需要通过JAX-WS或JAX-RS API创建服务代理对象,这将暴露与服务端相同的接口。CXF提供了工具,如wsdl2java,可以自动生成这些代理类。 2. 调用服务:通过服务代理...

Global site tag (gtag.js) - Google Analytics