`
c_cyclone
  • 浏览: 15847 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

XFire 使用入门

    博客分类:
  • java
web 
阅读更多
 
一.  介绍

XFire是下一代的java SOAP框架。XFire提供了非常方便的API,使用

这些API可以开发面向服务(SOA)的程序。

支持多个重要的Web Service标准,包括SOAP、WSDL、WS-I Basic Profile、WSAddressing

、WS-Security等

• 高性能的SOAP栈

• 可选的绑定(binding)方式,如POJO、XMLBeans,JAXB1.1、JAXB2.0、Castor和JiBX等

• 支持JSR181 API

• 多种传输方式,如HTTP、JMS、XMPP、In-JVM等

• 灵活的接口

• 支持多个容器,如Spring、Pico、Plexus、Loom

• 支持JBI,参看servicemix项目(http://servicemix.org)

• 客户端和服务器代码生成

二.简单例子

A.发布web service

1.新建一个web 工程,加入xfire所依赖的lib,配置web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

    xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<servlet>

<servlet-name>XFireServlet</servlet-name>

<display-name>XFire Servlet</display-name>

<servlet-class>

org.codehaus.xfire.transport.http.XFireConfigurableServlet

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/servlet/XFireServlet/*</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/services/*</url-pattern>

</servlet-mapping>

</web-app>

在这个web.xml文件中定义了一个 XfireServlet,它负责提供Web Services,并提供每个Web Service的WSDL。通过网址http://<server_url[:port]>/<context>/services/XXXXService?WSDL得到这个Web Service的WSDL信息。

2.编写要发布的接口和实现,与普通的POJO没有任何区别。

package cn.cares;



public interface HelloService {

    public String hello(String name);

}

package cn.cares;



public class HelloServiceImpl implements HelloService {



    public String hello(String name) {

       // TODO Auto-generated method stub

       return "HI,"+name!=null? name:"Guest";

    }



}

3.在源文件src目录下新建  META-INF/xfire/services.xml,编译发布时会复制到WEB-INF/classes/META-INF/xfire下.

services.xml: (写法有很多,要多研究下)

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">

  <service>

    <name>HelloService</name>

<namespace>http://cn.cares/HelloService</namespace>

<serviceClass>cn.cares.HelloService</serviceClass>

<implementationClass>cn.cares.HelloServiceImpl</implementationClass>

  </service>

</beans>

4.发布到web server 上,访问: http://localhost:8080/web_project_name/services

就可看到所发布的web service, 后面的蓝色的链接,就会得到这个Web Service

的WSDL信息。

B 客户端访问

方法一:

1.如果web service发布成功了,就要看如何使用这web service

根据WSDL生成客户端代码,我们采用eclipse plugin 这样更简单,也可采用ant

具体xfire插件安装: Help ->Software Updates->Find and Install->Search for new features to install->Create New Remote Site,并输入"XFire" 名字和http://dist.codehaus.org/xfire/update/ eclipse 更新站点。



2.File->new ->Other->XFire->Code generation from WSDL document

输入WSDL URL或PATH,以及要生成的客户端代码目录。



3.测试:

import cares.cn.helloservice.HelloServiceClient;

import cares.cn.helloservice.HelloServicePortType;



public class Test {

    public static void main(String[] args) {

       HelloServiceClient client = new HelloServiceClient();

       HelloServicePortType helloService = client.getHelloServiceHttpPort();

//     调用服务

       String result = helloService.hello("Tome");

       System.out.println("结果:" + result);

    }



}

注意: 当运行时可能失败,是因为提示缺少jar包,因此,要将commons-codec-1.3.jar和commons-httpclient-3.0.jar只放到lib中并在工程中引用

如果输出:HI,Tome  说明客户端调用web service 成功。整个过程就完成了。



方法二:

直接动态访问web service,测试代码如下:

import java.net.MalformedURLException;

import java.net.URL;



import org.codehaus.xfire.client.Client;



public class Test2 {

    public static void main(String[] args) throws MalformedURLException,Exception {

       Client client = new Client(

              new URL(

                     "http://localhost:8080/ws/services/HelloService?wsdl"));

       Object[] results = client.invoke("hello", new Object[] { "Tome" });

       //invoke的第一个参数你要调用的方法,第二参数表示调用方法传递的参数

       System.out.println((String) results[0]);

    }

}

分享到:
评论

相关推荐

    XFire完整入门教程

    XFire完整入门教程XFire完整入门教程XFire完整入门教程XFire完整入门教程

    webService-xfire入门doc

    【描述】"webService-xfire入门" 提示我们这是一个初学者指南,旨在帮助用户理解如何开始使用XFire来创建和使用Web服务。这通常包括安装步骤、基本概念解释、配置教程以及一些简单的示例项目。 【标签】"webService...

    XFire--Webservice入门xfire

    XFire--Webservice入门xfire

    webService+Xfire入门

    总的来说,"webService+Xfire入门"的教程适合初学者,通过它你可以快速了解Web Service的基本概念,学会使用MyEclipse创建、部署和测试Web Service,并理解XFire在Web服务开发中的作用。实践这个小例子,你将对Web ...

    xfire入门实例操作

    **Xfire入门实例操作详解** Xfire是一款曾经非常流行的在线游戏社区软件,它允许玩家在游戏中与朋友聊天、查看他们的状态、记录游戏统计等。虽然现在可能不再是最主流的游戏社交工具,但对于想要了解游戏社区历史...

    Web Service 之 XFire入门

    这篇博客文章“Web Service 之 XFire入门”将引导我们逐步了解如何使用XFire构建Web服务。 首先,XFire基于Java语言,利用了Java API for XML Processing (JAXP) 和Java Architecture for XML Binding (JAXB) 这些...

    XFire 入门 web service.wps

    XFire 入门 web service.wpsXFire 入门 web service.wpsXFire 入门 web service.wps

    【webservice----xfire 快速入门代码实训】----<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    【Web服务——XFire快速入门代码实训】 在IT行业中,Web服务是一种使应用程序能够通过互联网交换数据的方法。其中,XFire是一个流行的Java Web服务框架,它简化了开发、部署和消费Web服务的过程。本实训主要关注...

    基于xfire的短信发送接口 入门篇

    **XFire入门步骤** 1. **安装与配置**:首先,我们需要下载并安装XFire的库文件,将其添加到项目的类路径中。此外,可能还需要配置Maven或Gradle依赖以引入XFire的相关模块。 2. **创建服务接口**:定义一个短信...

    Web Service修炼之一XFire入门3

    【标题】"Web Service修炼之一XFire入门3" 在Web服务的世界中,XFire是一个曾经广泛应用的开源框架,它使得开发、部署和消费Web服务变得简单。本篇内容将聚焦于XFire的基础知识,帮助初学者理解如何使用XFire进行...

    xfire实现web service入门实例

    作为一个初学者,理解如何使用Xfire来实现Web服务是非常基础且重要的一步。下面将详细介绍Xfire实现Web服务的基础知识。 首先,我们要了解Web服务的基本概念。Web服务是通过XML(可扩展标记语言)进行通信的,使用...

    WebService开发入门(XFire)

    我整理了一下使用XFire1.2.6进行Web Service开发的思路,尝试完成了一个入门实例(完整的MyEclipse项目)。如果你正在学习Web Service或者对这个有兴趣,你可以下载该附件,导入MyEclipse中运行以查看示例效果。希望...

    8 XFire Web Service 入门.doc

    【XFire Web Service 入门】 XFire 是一个开源的、高性能的Java Web Service框架,它简化了创建和消费Web服务的过程。XFire在早期是Apache CXF的一部分,后来并入了CXF项目,提供了丰富的功能,包括SOAP、WS-*协议...

    WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)

    【WebService概念】 Web Service是一种基于开放标准的互操作机制,允许不同应用和平台之间进行数据交换和服务调用。...通过实例学习,如使用XFire或Axis开发Web Service,能够更好地理解这些概念在实际中的应用。

    XFire 实现web service入门实例源码

    本教程将深入探讨如何使用XFire来实现一个基础的Web服务入门实例,并通过源码分析来增进理解。 首先,我们要明白Web服务的基本概念。Web服务基于开放标准,如SOAP(Simple Object Access Protocol)、WSDL(Web ...

    手把手xfire开发WS入门实例

    总结来说,"手把手xfire开发WS入门实例"涉及到的知识点涵盖了Web Service的基本概念、核心协议(SOAP和WSDL)、选择Web Service通信方式的比较、开发工具和框架(XFire和Axis),以及相关技术与SOA架构。通过学习...

    WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例).ppt

    WebService&SOA&ESB入门介绍(手把手xfire开发WS入门实例)

Global site tag (gtag.js) - Google Analytics