WebService教程
发布时间:2020-12-17 01:12:09 所属栏目:安全 来源:网络整理
导读:? 开发环境 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. 创建一个简
?
开发环境
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. 代码如下:
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来运行或调试该程序 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 解析 – 在Scala中的RegexpParsers,StandardTokenParsers和
- unix – 在shell脚本中设置环境变量不会使其对shell可见
- 5天学会jaxws-webservice编程第一天
- Scala中类型类的命名约定是什么?
- typescript – Angular2 ag-grid数据源
- 在Vim中选择整个函数定义
- ngmodel在Eonasdan/bootstrap-datetimepicker中不生效解决方
- 测试 – 如何仅在一次测试中覆盖Angular 5中的Provider?
- 深入redis内部--内存管理
- angularjs – Angular Bootstrap – 默认选项卡处于活动状态