`
pengwei.daily
  • 浏览: 23451 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

XFire 入门教程 - 客户端

    博客分类:
  • XML
 
阅读更多

1、在服务提供者告诉interface的情况下


2、通过WSDL创建一个动态的客户端

package com.exigen.www.client;

import java.net.MalformedURLException;
import java.net.URL;

import org.codehaus.xfire.annotations.AnnotationServiceFactory;
import org.codehaus.xfire.client.Client;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import com.exigen.www.HelloWorldService;

public class HelloWorldClient {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		dynamicClientTest();
		
		knownInterfaceClientTest();
	}

	/**
	 * 服务提供者告诉你interface
	 * @throws MalformedURLException
	 */
	public static void knownInterfaceClientTest() throws MalformedURLException{
		Service serviceModel = new ObjectServiceFactory().create(HelloWorldService.class);
		HelloWorldService helloWorldService = (HelloWorldService)new XFireProxyFactory().create(serviceModel, 
				"http://localhost:8080/XFire/services/HelloWorldService");
		System.out.println(helloWorldService.sayHello());
		
		System.out.println("============================");
		
		Service serviceModel1 = new AnnotationServiceFactory().create(HelloWorldService.class);
		HelloWorldService client = (HelloWorldService)
		    new XFireProxyFactory().create(serviceModel1,
		    		"http://localhost:8080/XFire/services/HelloWorldService");
		System.out.println(client.sayHello());
		
	}
	
	
	/**
	 * 通过WSDL创建一个动态的客户端
	 * @throws MalformedURLException
	 * @throws Exception
	 */
	public static void dynamicClientTest() throws MalformedURLException, Exception{
		Client client = new Client(new URL("http://localhost:8080/XFire/services/HelloWorldService?wsdl"));
		Object[] results = client.invoke("sayHello", new Object[]{});
		System.out.println(results[0]);
		System.out.println("============================");
	} 
}

 

3、使用Ant工具通过WSDL生成客户端

 

<?xml version="1.0"?>
<project name="wsgen" default="wsgen" basedir=".">
    <path id="classpathId">
        <fileset dir="./WebRoot/WEB-INF/lib">
            <include name="*.jar" />
        </fileset>
    </path>
    <taskdef classpathref="classpathId" name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask">
    </taskdef>
    <target name="wsgen" description="generate client">
        <wsgen outputDirectory="./src/" wsdl="abc.wsdl" binding="xmlbeans" package="com.abc.p" overwrite="true" />
    </target>
</project>

 

 请注意,脚本中有一个参数binding,可以指定如下两种不同的方式:

 

  1. axb(Java Architecture for XML Binding,https://jaxb.dev.java.net/):使用此种方式时,会自动生成更多的Request和Resopnse类。
  2. xmlbeans,调用方式如下:
AbcServiceClient client = new AbcServiceClient();
String url = "http://localhost:8080/xfireTest/services/TestService";
String result = client.getAbcPort(url).sayHello("Robin");
 
分享到:
评论

相关推荐

    xfire访问webservice客户端用到的jar包

    下面我们将详细探讨XFire以及如何使用它来创建一个Web服务客户端。 1. **XFire简介** XFire是Apache CXF项目的前身,它提供了全面的Web服务支持,包括SOAP 1.1和1.2、WSDL(Web服务描述语言)、UDDI(统一描述、...

    xfire-all-1.2.4.jar包webService

    **Apache CXF**:XFire后来被并入Apache CXF项目,CXF在XFire的基础上增加了更多功能,如支持RESTful Web服务、WS-Security、WS-Policy等,同时提供了更丰富的工具集和更好的社区支持。 **使用场景**: - 开发者...

    xfire-distribution-1.2.6.rar

    这些库是运行XFire应用程序的基础,用户需要将它们添加到项目的类路径中以确保正确运行。 由于XFire已被Apache CXF所替代,现在的开发者更多地转向CXF来创建和使用Web服务,因为CXF提供了更广泛的特性和对新标准的...

    xfire客户端包含所需要的jar

    1. **xfire-core.jar**:这是XFire的基础库,包含了主要的服务框架和运行时环境。 2. **xfire-aegis-binding.jar**:Aegis绑定模块,提供数据类型到XML的映射,反之亦然。 3. **xfire-annotations.jar**:支持使用...

    xfire创建服务端客户端源码

    《xfire创建服务端客户端源码详解》 Xfire,作为一个历史悠久的开源项目,曾经在游戏服务器通信...尽管随着时间的推移,新的通信框架如gRPC、Spring Cloud等不断涌现,但Xfire的历史价值和基础教学作用仍然不容忽视。

    xfire 所有JAR包

    - **xfire-core-1.2.6.jar**:这是XFire的核心模块,提供基础的Web服务实现,包括XML编解码、服务发现、客户端调用等功能。 2. **XFire扩展模块** - **xfire-aegis-1.2.6.jar**:Aegis绑定是XFire的一种数据绑定...

    用xfire的Eclipse_Plugin生成web服务的客户端.

    在深入探讨如何使用XFire的Eclipse插件生成Web服务的客户端之前,我们先来了解一下XFire和Eclipse的基本概念,以及它们在Web服务开发中的角色。XFire是一个开源的、轻量级的Web服务框架,它支持SOAP、REST等多种协议...

    xfire客户端需要的jar

    这个“xfire客户端需要的jar”文件集合,显然是为了支持基于XFire的客户端应用程序运行而必需的Java类库。 首先,让我们深入了解一下XFire。XFire是Apache CXF项目的前身,它最初设计的目标是简化Web服务的开发过程...

    spring+xfire( 编写webservice完整配置+案例)

    在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务的完整配置,并通过实际案例来学习这一过程。 首先,我们需要了解Spring和XFire的基础。Spring框架提供了一个名为Spring-WS的模块,专门用于构建Web...

    WebService教程-xfire学习手册【技术文档】

    这份46页的PDF教程涵盖了WebService的基础概念、XFire的安装与配置,以及如何通过XFire实现WebService服务的创建、调用等关键步骤。以下是基于该教程的详细知识点解析: 1. **WebService基础**:首先,我们需要了解...

    WebService教程-xfire学习手册

    5. **服务客户端**:学习如何使用XFire生成并使用Web服务客户端,包括自动代码生成和手动编写客户端代码。这将涵盖如何调用服务、处理响应和异常。 6. **高级特性**:深入探讨XFire的高级特性,如WS-Security(Web...

    webService-xfire入门doc

    同时,"webService-xfire入门"可能是详细教程或示例代码,有助于快速理解和上手XFire。 总的来说,学习和使用XFire,你需要理解Web服务的核心概念,熟悉Java编程,以及掌握XFire的API和配置。随着对XFire的深入应用...

    java利用 xfire实现 webservices 服务端与客户端

    本篇文章将深入探讨如何利用XFire在服务端和客户端之间建立Web服务通信。 一、Web服务基础 Web服务是一种基于标准的,能够跨越不同操作系统、编程语言和网络环境的通信方式。它们通常使用SOAP(Simple Object ...

    xfire-spring.pdf

    - **XFire版本**:文档中提到的是XFire 1.2.6版本,这是当时的一个稳定版本,适用于本教程。 - **插件安装**:可以选择安装XFire for Eclipse插件,它可以简化XFire的配置过程,并提供诸如代码生成等功能。 #### ...

    xfire依赖jar包

    10. **xfire-generator**: 代码生成工具,可以根据WSDL文件自动生成Java客户端和服务端代码,方便快速开发。 以上这些jar包共同构成了xfire框架的基础,它们相互协作,为开发者提供了强大而全面的Web服务开发环境。...

    java 调用webservice使用HttpClient和XFire两种方式

    对于短信接口,我们可以使用XFire的ClientProxyFactoryBean来创建一个客户端代理,然后通过这个代理调用服务。以下是一个使用XFire的示例: ```java import org.apache.cxf.frontend.ClientProxyFactoryBean; // ...

    XFire用户库包-开发WebServices服务

    这个压缩包包含了一系列的JAR文件和其他必要的资源,它们是开发和运行XFire服务的基础。解压缩后,你会看到诸如xfire-核心库、xfire-xmlbeans库、xfire-aegis库等文件,这些库分别提供了XFire的核心功能、XMLBeans...

    xfire开发所需jar包

    3. 易于测试:XFire提供了模拟客户端工具,方便服务端的单元测试和集成测试。 4. 与其他技术结合:如Spring框架,提高应用的可维护性和扩展性。 四、总结 XFire作为一款成熟的Web服务框架,尽管现在已经被更先进...

    XFire+WebService的jar包合集

    1. xfire-core:这是XFire的核心库,包含了处理Web服务请求和响应的基础组件,如XML解析、协议处理等。 2. xfire-aegis:Aegis是XFire的一个子项目,提供了对象到XML的绑定,允许将Java对象直接映射为SOAP消息,...

    XFire的所有jar包

    8. **xfire-http-client.jar**:这个jar包包含了对HTTP客户端的支持,使XFire能够通过HTTP/HTTPS协议进行服务调用。 9. **xfire-ws-security.jar**:提供了Web服务安全相关的功能,如WS-Security标准的支持,用于...

Global site tag (gtag.js) - Google Analytics