MyEclipse配置WebService六步曲(xfire)
?
?????????????????????????????????????? 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
?
?
MyEclipse配置WebService步骤二. 创建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
?
?
MyEclipse配置WebService步骤三. 部署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
?
MyEclipse配置WebService步骤四. 启动Tomcat服务器
?
MyEclipse配置WebService步骤五. 使用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
?
?
MyEclipse配置WebService步骤六. 创建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.
?
代码如下:
??
该段代码定义了创建一个XFire web service proxy的过程,该代理支持POJO IHelloWorldService接口
?
右键点击Run As>Java Application或者Debug As>JavaApplication来运行或调试该程序
?