`
songzhan
  • 浏览: 247918 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

WebService教程

 
阅读更多

开发环境 
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文件到它合适的位置.如: /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 

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配置文件中创建了一个实体(如图所示),注意到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. 
代码如下: 

Java代码  收藏代码
  1. public static void main(String[] args) ...{  
  2.     Service srvcModel = new  
  3.     ObjectServiceFactory().create(IHelloWorldService.class);  
  4.     XFireProxyFactory factory =  
  5.        new XFireProxyFactory(XFireFactory.newInstance().getXFire());  
  6.     String helloWorldURL =  
  7.        "http://localhost:8080/HelloWorld/services/HelloWorldService";  
  8.     try ...{  
  9.        IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);  
  10.        String result = srvc.example("hello world");  
  11.        System.out.print(result);  
  12.     } catch (MalformedURLException e) ...{  
  13.        e.printStackTrace();  
  14.     }  
  15.   }  

 


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

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

分享到:
评论

相关推荐

    WebService教程+实例+代码提示功能WebService实例.rar

    这个"WebService教程+实例+代码提示功能WebService实例.rar"压缩包文件显然包含了关于WebService的学习资料、实例代码和可能的代码提示功能,旨在帮助用户深入理解和实践WebService的开发。 首先,"教程地址.txt"很...

    java webservice教程

    这个教程“Java WebService教程”涵盖了使用Java技术开发Web服务的相关知识,包括API文档和示例,是学习Java WebService的理想资源。 首先,Web服务的核心概念是SOAP(Simple Object Access Protocol),它是一种...

    webservice教程和开发指南

    本教程将深入探讨Web服务的概念、原理及其实现,尤其关注在Java环境中如何开发和使用Web服务。 一、Web服务的基本概念 Web服务是一种松耦合的架构,它利用开放的Web标准如SOAP(Simple Object Access Protocol)、...

    WebService教程ppt.pptx

    ### WebService 教程知识点详解 #### 一、WebService 概述 - **定义**:WebService 是一种跨语言、跨平台的应用程序间通信技术。它允许应用程序之间通过 HTTP 协议进行数据交换和服务调用,使得不同操作系统上的...

    axis+webservice教程+帮助文档

    axis+webservice教程+帮助文档

    webservice教程(xfire+spring)

    【Web服务基础与XFire简介】 Web服务是一种基于开放标准(如XML,SOAP,WSDL和UDDI)的通信协议,它允许不同系统之间的应用程序相互通信,从而实现跨平台的数据交换。Web服务的核心技术包括:简单对象访问协议...

    CXF框架webservice教程

    CXF框架webservice教程,webservice客户端代码开发教程。图文并茂

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

    【WebService教程-xfire学习手册】是一份详细的技术文档,主要针对想要深入理解并掌握WebService技术,特别是使用XFire框架的开发者。这份46页的PDF教程涵盖了WebService的基础概念、XFire的安装与配置,以及如何...

    最全WebService讲解教程

    WebService教程详解 在信息化高速发展的今天,WebService作为跨平台、跨语言的信息交换标准,成为了不同系统间通信的重要桥梁。本教程旨在提供一个详尽的WebService学习路径,帮助开发者全面掌握这一技术。 一、...

    WebService教程-xfire学习手册

    【WebService教程-xfire学习手册】是一份详细指导开发者如何使用XFire框架来构建和消费Web服务的技术文档。Web服务是一种基于互联网的、平台无关的交互方式,它允许不同的应用程序之间进行数据交换和功能调用。XFire...

    axis+webservice教程.doc

    ### 使用AXIS开发WebService教程——如何发布自己的WebService #### 一、开发环境搭建与配置 在开始本教程之前,我们先来了解一下作者所使用的开发环境: - **JDK版本**:1.4.2 - **IDE**:MyEclipse 6.0 - **Web...

Global site tag (gtag.js) - Google Analytics