MyEclipse下XFire开发Webservice实例
转自:http://blog.csdn.net/meteorlwj/article/details/4545100
作者:王娟
?
?
最近在研究JAVA开发Webservice,发现网络上比较流行的几种选择AXIS、XFire、CFX(XFire的下一代),前几天转了几篇关于这三种选择的比较的文章,对它们已经有了些概念。决定自己实践一个例子
???? 在开始前,先介绍一些概念:
???? XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml?)
??? 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传输协议
一、环境配置:MyEclipse7.0
???????????????????? JDK1.6
二、创建Web Service Project
????? 1)在MyEclipse中选择File—>New—>Other,选择Web Service Project
???????
????? 2)Project Name:WebServiceServer,Framework:XFire,其他选项默认
? ? ??
???? 3)Next,这一步保持默认值
???? 4)Project Library选择,选择XFire 1.2? Core Libraries
?????
??? 5)Finish,创建成功后看到的工程目录如下:
????
??? 6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
? ? ? ?? 这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理 ???
三、创建Web Service Code
??? 1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE
?????
???? 2)选择通过JAVA CLASS创建Web Service
?????
???? 3)创建HelloWebService.java,通过New创建com.service package,向导将为工程自动创建对应的接口类与实现类
?????
???? 创建成功后查看WebServices/services.xml,发现配置文件多了以下内容:
?????
??? 4)修改HelloWebServiceImpl.java
????package com.service;
??? //Generated by meteorWJ
?? public class HelloWebServiceImpl implements IHelloWebService {
????
???? public String example(String message) {
??? ??? return getAuthor()+","+message;
?? ? }
?? ? private String getAuthor(){
??? ??? return "meteorWJ";
?? ? }
????
?? }
?
四、部署并测试WebSericeServer
??? 1)部署WebServiceServer
????
??? 在部署向导中选择项目、服务器
????
??? 2)启动服务器
????
?
?? 3)测试WebService
?? MyEclipse提供了一个Web Service Explorer来测试Web Service
???
?
?? 选择列表中的Launch SOAP Web Services Explorer
?? 4)选择WSDL模式
???
?? 5)在Explorer中选择WSDL Main,在右边的URL中输入
?? http://localhost:9090/WebServiceServer/services/HelloWebService?WSDL,单击"Go"
?? 其中9090是服务器端口号,services在之前的web.xml中指定
?? 若在Status中显示成功打开WSDL文件则测试成功
? ?
??
五、创建WebService客户端
经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务
? 1)创建Java Project:WebServiceClient
? 2)引入MyEclipse Libraries
?????? 右键WebServiceClient—>Build Path—>Add Libraries
??
? 选择XFire 1.2 HTTP Client Libraries
??
?? 3)创建HelloWebService.java
?? 在src目录下创建com.client.HelloWebService.java
???package com.client;
?? import java.net.URL;
?? import org.codehaus.xfire.client.Client;
?? public class HelloWebService {
?????? public static void main(String[] args) throws Exception
?????? {
??? ??? Client client = new Client(new URL("http://localhost:9090/WebServiceServer/services/HelloWebService?wsdl"));
??? ??? Object[] results = client.invoke("example", new Object[] {"hello"});
??? ??? System.out.println((String) results[0]);
?????? }
?? }
???4)在确认服务器启动的情况下,运行HelloWebService.java
???右键点击Run As>Java Application,在控制台中看到如下输出
???
?
?
本次实例到此就算完成了。