`

Eclipse构建WebServices(XFire )

阅读更多

开发环境
Sun Java 5+ Eclipse 3.2 +MyEclipse 5.0.0.
@与羊共舞的狼

概述

本文介绍了使用MyEclipse Web Service来迅速开发和测试一个HelloWorld Web Service,其中包括:
1. 介绍了MyEclipse Web Services的基本概念
2. 创建一个MyEclipse Web Services工程
3. 创建一个简单的HelloWorld Web Service
4. 在Web容器中,如Tomcat 5中部署Web Service
5. 使用Web Services Explorer来测试部署的Web Services

XFire Java SOAP框架概述
MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP, In-memory传输协议.

一. 创建Web Service工程

在MyEclipse 5.0中引入了一个新的工程类型即Web Service工程,该工程扩展了MyEclipse Web Project来支持额外的Web Service配置,开发和部署.本部分将使用Web Services Project wizard来创建和配置一个新的Web Service Projects Web Service Wizard将完成下列的动作:
创建MyEclipse J2EE Web Project
在工程中的web.xml文件中配置XFire Servlet
创建XFire services.xml配置文件
在工程中的构建路径中添加MyEclipse-XFire类库
添加一个指定的MyEclipse web project builder到.projects文件,以便部署services.xml文件到它合适的位置.如: <webroot>/WEB-INF/classes/META-INF/xfire/

运行Web Service Project Wizard
该向导包括三个页面, Page-1搜集Web Project配置细节, Page-2搜集XFire配置细节, Page-3在新建的构建路径中配置XFire类库
1. 执行Web Services Project Wizard.
1). 选择File>New>Other
2). 扩展MyEclipse种类按照J2EE工程的种类
3). 选择Web Services Project然后点击Next,如图所示


Figure-1: New Project Wizard Launcher
2. 添加Project Name,点击Next


Figure-2: Page-2, Collecting web configuration details
3.在向导的Page-2中添加XFire servlet和service.xml文件的配置信息,按照默认的值即可.


Figure-3: XFire servlet and services.xml configuration

1

4.在向导的Page-3中选择类库添加到工程的构建路径中,其中XFire Core Library是需要的,如果要在工程中开发一个客户端应用, XFire HTTP Client Libraries也是需要的.


Figure-4: Selecting XFire libraries to add to new web service project buildpath

5选择Finish完成Web Service工程的创建过程
Figure-5,显示了新创建的HelloWorld Web Service工程的组织结构,Web Service 工程和一个标准的MyEclipse Web工程很相似. XFire Web Service配置元素如图红色区域显示:


Figure-5: Web services artifacts of a new web service project

二. 创建Web Service-Code-first Strategy 在这部分将用MyEclipse Web Service Wizard并通过使用Code-first Strategy来创建一个HelloWorldService示例.

1. 执行MyEclipse Web Service Wizard,有两种方法来执行MyEclipse Web Service Wizard
方法1.从MyEclipse perspective toolbar中来执行向导
在打开的Web Service Wizard上的workbench上来选择新Web Service按钮
方法2.从workbench menubar执行向导
1. 从workbench menubar选择: File>New>Other>MyEclipse>Web Service


Figure-6: Launching Web Service Wizard

2. 在Page-1选择HelloWorld 工程并选择Create web service from Java bean
3. 选择Next到Page-2


Figure-7: Page-1 of new web service wizard
4. 填写Web Service的名字HelloWorldService
5. 选择Java Source folder或者选择New按钮来新建一个source folder
6. 填写Java package或者通过选择Browse按钮来选择一个已经存在的package.也可以选择New按钮来新建一个Java package
注意:对Service接口和Service执行的类的默认值是基于所填入Web Service名字来产生的.
7. 选择Next来初始化Web Service的创建过程


Figure-8: Page-2 of new web service wizard.
该向导产生了IHelloWorldService Java接口和HelloWorldServiceImpl Java类.并且在services.xml配置文件中创建了一个<service>实体(如图所示),注意到example(String message)方法在接口类中产生,当Web Service部署后作为一个测试操作.


Figure-9: Newly created HelloWorld interface and implementation class

三. 部署Web Service Project
Web Service可以部署在任何MyEclipse支持的J2EE应用服务器上,该部分将演示如何在Tomcat 5 Web容器上部署HelloWorld工程.

3.1部署HelloWorld Web Service Project

Figure-10显示了如何部署HelloWorld应用.
1. 从Server Manager中选择Deployer按钮(step-1)
2. 在Server Deployments对话框中选择Add to create a new deployment (step-2)
3. 在New Deployment对话框中选择HelloWorld工程并选择Exploded Archive选项
4. 在New Deployment对话框选择Finish来将HelloWorld在Tomcat 5默认的位置中打包为WAR
5. 选择OK完成部署


Figure-10: Three-step deployment process
新HelloWorld WAR部署将出现在Server Manager视图中Tomcat 5节点下.


Figure-11: Servers Manager View depicting deployed HelloWorld web service project

四. 启动Tomcat服务器
五. 使用Web Service Explorer测试Web Service
MyEclipse提供了一个Web Service Explorer来测试Web Service.
1. 在MyEclipse perspective中选择toolbar button来执行Web Service Explorer


Figure-15: Web Services Explorer launch button on workbench toolbar

2. 选择WSDL模式(Figure-16)
3. 在活动面板中键入HelloWorldService WSDL文档的URLhttp://localhost:8080/HelloWorld/services/HelloWorldService?WSDL,Web Service Explorer将下载自动产生的WSDL文档,该WSDL文档由XFire framework,并产生一系列的操作能够调用service.
4. 在活动面板中选择example操作并在in0域中键入HelloWorld
5. 选择Go按钮来调用在HelloWorldService上的example操作,,结果出现在Status面板上


Figure-16: Web Services Explorer testing HelloWorldService

六. 创建Java Test客户端
XFire提供了一个动态的代理框架,能够读取WSDL文档和创建潜在的消息服务使Java类来执行在Web Service的行为.该部分将为HelloWorld Web Service写一个Java Web Service客户端
6.1增加XFire类库配置
为了使example client能够在HelloWorld工程中运行,需要增加XFire HTTP Client类库到工程的构建路径中.
1. 在Package Explore视图中右击HelloWorld工程选择Build Path>Add Library
2. 选择MyEclipse Libraries
3. 选择XFire HTTP Client Libraries


Figure-17: Choosing the XFire HTTP Client Libraries
4. 选择Finish
6.2创建HelloWorldClient类
执行Java类向导来创建HelloWorldClient类


Figure-18: HelloWorldClient defined in New Java Class Wizard.

 

代码如下:

package org.stephencat.ws;

 

import org.codehaus.xfire.*;

import org.codehaus.xfire.service.*;

import org.codehaus.xfire.service.binding.*;

import org.codehaus.xfire.client.*;

 

import java.net.*;

 

public class SampleClient {

 

/**

* @param args

*/

public static void main(String[] args) {

Service srvcModel = new

ObjectServiceFactory().create(IHelloWorldService.class);

XFireProxyFactory factory =

new XFireProxyFactory(XFireFactory.newInstance().getXFire());

String helloWorldURL =

"http://localhost:8080/HelloWorld/services/HelloWorldService";

try ...{

IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);

String result = srvc.example("hello world");

System.out.print(result);

} catch (MalformedURLException e) ...{

e.printStackTrace();

}

 

 

}

 

} 该段代码定义了创建一个XFire web service proxy的过程,该代理支持POJO IHelloWorldService接口

 

右键点击Run As>Java Application或者Debug As>JavaApplication来运行或调试该程序

分享到:
评论

相关推荐

    eclipse 使用xfire开发webservices server

    标题中的“eclipse使用xfire开发webservices server”意味着我们将使用Eclipse IDE和XFire来创建和部署一个Web服务服务器。以下是一步步的操作步骤: 1. **安装Eclipse和XFire插件**:首先确保你的Eclipse已经安装...

    xfire webservices源码

    【xfire webservices源码】是一个用于理解和学习Web服务实现的开源项目,它基于XFire框架,该框架是Java世界中一个流行的SOAP和RESTful Web服务实现工具。XFire允许开发者快速、简单地构建和部署Web服务。在这个源码...

    XFire开发Web Services

    【XFire 开发Web Services】是指使用XFire框架来创建和使用Web服务的过程。XFire是Java中一个轻量级的Web服务实现,它提供了一种简单的方式来构建和消费SOAP服务。下面将详细介绍如何利用XFire进行Web服务的开发。 ...

    Eclipse上使用XFire开发

    在本文中,我们介绍了如何使用Eclipse和XFire框架来构建一个简单的WebService应用。通过具体的步骤指导,读者可以快速上手并理解整个开发流程。需要注意的是,虽然这里使用的是简单的加法服务作为示例,但实际开发中...

    XFire-WebServices傻瓜配置.doc

    **XFire-WebServices傻瓜配置** XFire是一款开源的Java Web Services框架,它使得开发者能够轻松地创建和消费Web服务。XFire提供了简洁的API和XML绑定,使其成为开发人员构建基于SOAP的服务的理想选择。在本文档中...

    Java中使用XFire开发简单的WebServices.pdf

    使用XFire框架构建Web Services相比于其他框架来说,虽然在某些方面可能没有那么便捷,但它提供了足够的灵活性和控制能力,使得开发者可以根据具体需求定制Web Services的行为。对于初学者而言,这是一个很好的学习...

    webservices学习之xfire

    这些是构建Web服务的基础,XFire正是在此之上进行工作的。 2. **XFire架构**:XFire的架构设计基于模块化,它包括了服务接口绑定、消息处理、传输协议、数据绑定等关键模块,每个模块都有特定的责任,使得开发者...

    XFire用户库包-开发WebServices服务

    XFire作为这样一个框架,使得开发者能够快速地构建符合WS-I(Web Services Interoperability)标准的服务。 要开始使用XFire,你需要下载XFire用户库包。这个压缩包包含了一系列的JAR文件和其他必要的资源,它们是...

    在Eclipse下用xfire创建webserver服务器demo

    下面我们将详细探讨如何在Eclipse中使用Xfire来构建一个Web服务器的演示项目。 首先,你需要确保已经安装了Eclipse IDE和Xfire的相关插件。Eclipse插件可以在Eclipse Marketplace中搜索并安装,而Xfire通常通过...

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

    XFire是一个开源的、轻量级的Web服务框架,它支持SOAP、REST等多种协议,能够帮助开发者快速构建、部署和测试Web服务。而Eclipse则是一款广受欢迎的开源集成开发环境(IDE),适用于Java、C/C++、PHP等多种编程语言,...

    Web Services发布与调用(axis,xfire)

    - **Axis**: Axis是Apache的一个开源项目,用于构建和部署Web Services。首先创建一个新的Java工程,将Axis的JAR文件添加到项目的类路径中。这些文件通常包括`axis.jar`, `jaxrpc.jar`, `saaj.jar`, `wsdl4j.jar`等...

    xfire生成webservice

    XFire是一款开源的Java库,专门用于构建和消费Web服务。本文将详细讲解如何在Eclipse集成开发环境中使用XFire生成Web服务,并在JBoss 5.1应用服务器上进行部署和运行。 首先,我们需要理解Web服务的基本概念。Web...

    MyEclipse开发的基于xfire的 webservices 最简单的demo

    【MyEclipse开发的基于Xfire的Web服务(Webservices)最简单DEMO详解】 在软件开发领域,Web服务是一种允许不同系统之间进行通信和数据交换的技术。它基于开放标准,如SOAP(Simple Object Access Protocol)和WSDL...

    在Eclipse上使用XFire开发WebService分享.pdf

    3. **配置services.xml**:Eclipse会自动生成services.xml文件,其中包含了Xfire的Servlet配置,这些配置会被添加到web.xml文件中。 4. **加载Xfire库**:在项目中引入Xfire相关的jar包,包括Xfire1.2 Core ...

    xfire myeclipse10包

    在MyEclipse这样的集成开发环境中集成XFire,可以极大地简化开发人员在构建和测试Web服务过程中的工作。 首先,我们要了解MyEclipse。MyEclipse是基于Eclipse的商业Java集成开发环境,特别适合于J2EE应用的开发。它...

    xfire1.2.6_plugin

    总结来说,"xfire1.2.6_plugin"是Eclipse平台上的一个强大工具,它将XFire的Web Services开发能力无缝整合到Eclipse环境中,让开发者能够在熟悉的开发环境中高效地进行Web Services的开发和测试。通过理解并充分利用...

    在Eclipse上使用XFire开发WebService.pdf

    在本文中,我们将深入探讨如何在Eclipse...通过以上步骤,开发者可以在Eclipse中利用XFire快速构建和测试Web服务,实现跨平台和跨语言的通信。XFire的易用性和强大的功能使其成为Java开发者开发Web服务的首选工具之一。

    安装 maven XFire插件

    在IT领域,Maven与XFire插件的安装与配置是一项重要的技能,...以上就是关于Maven安装、Eclipse中XFire插件的安装,以及Web Services平台要素的详细说明。希望这些知识点能够帮助读者更好地理解和掌握相关的技术要点。

    Myeclipse10 用 Xfire构建 webservice

    【MyEclipse10与Xfire构建Web服务详解】 在软件开发中,Web服务是一种重要的交互方式,它允许不同系统间的应用程序通过网络进行通信。MyEclipse10是一款强大的Java集成开发环境,提供了构建和部署Web服务的强大工具...

Global site tag (gtag.js) - Google Analytics