Chinaunix首页 | 论坛 | 博客
  • 博客访问: 944680
  • 博文数量: 264
  • 博客积分: 10107
  • 博客等级: 上将
  • 技术积分: 2455
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-09 16:34
文章分类

全部博文(264)

文章存档

2012年(1)

2011年(11)

2010年(128)

2009年(82)

2008年(42)

我的朋友

分类: 系统运维

2009-06-22 13:52:27

MyEclipse下开发Web Service()

http://hi.baidu.com/banseon/blog/item/6cf5e2133e0535005baf53d2.html
本文介绍了使用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,支持POJOschema开发. 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文件到它合适的位置.
: /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 servletservice.xml文件的配置信息,按照默认的值即可.


     Figure-3: XFire servlet and services.xml configuration

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.
选择NextPage-2

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配置文件中创建了一个

实体(如图所示),注意到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来将HelloWorldTomcat 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文档的

URL 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.
         
代码如下:

public static void main(String[] args) ...{
          Service srvcModel = new
          ObjectServiceFactory().create(IHelloWorldService.class);
          XFireProxyFactory factory =
          new XFireProxyFactory(XFireFactory.newInstance().getXFire());
          String helloWorldURL =
          "";
       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来运行或调试该程序

 

阅读(591) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~