myeclipse xfire 开发webservice实例

XFire Java SOAP 框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml)
MyEclipse Web Services是建立在XFire JavaSOAP框架和工 具基 础上的, XFire是一款开源的JavaSOAP框架。它拥有一个轻量级的信息处理模 块,通过STAX来与SOAP信息相结合。提供了一个工作在WebServices下的简单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
   myeclipse xfire 开发webservice实例    2)Project Name:WebServiceServer,Framework:XFire,其他选项默认
   myeclipse xfire 开发webservice实例
    3)Next,这一步保持默认值
    4)Project Library选择,选择XFire 1.2   Core Libraries
   myeclipse xfire 开发webservice实例
5)Finish,创建成功后看到的工程目录如下:
myeclipse xfire 开发webservice实例
6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
      这里指明了当遇到/services/* 请求时,将选用XFireConfigurableServlet来处理 myeclipse xfire 开发webservice实例
记得把xalan.jar加到lib下
三、创建Web Service Code
1) 通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE
   myeclipse xfire 开发webservice实例
    2)选择通过JAVA CLASS创建Web Service
   myeclipse xfire 开发webservice实例
    3)创建HelloWebService.java, 通过New创建com.service package,向导将为工程自动创建对应的接 口类与实现类
   myeclipse xfire 开发webservice实例
    创建成功后查看WebServices/services.xml,发现配置文 件多了以下内容:
   myeclipse xfire 开发webservice实例
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
myeclipse xfire 开发webservice实例
在部署向导中选择项 目服 务
myeclipse xfire 开发webservice实例
2)启动服务器
myeclipse xfire 开发webservice实例
3)测试WebService
MyEclipse提供了一个Web Service Explorer来测试Web Service
myeclipse xfire 开发webservice实例
选择列表中的Launch SOAP Web Services Explorer
4) 选择WSDL模式
myeclipse xfire 开发webservice实例
5)在Explorer中选择WSDL Main,在右边的URL中输入
http://localhost:8080/WebServiceServer/services/HelloWebService?WSDL, 单击"Go"
其中8080是服务器端口号,我用的是tomcat,tomcat用的是8080.services在web.xml中指定的
    若在Status中显示成功打开WSDL文件则测试成功

也可以在浏览器中输入
   http://localhost:8080/WebServiceServer/servicesmyeclipse xfire 开发webservice实例  

在这里一定要注意路径,第一次做时不熟悉,URL写错,费了二个小时的时间.惭愧啊!!!!!!!

五、创建WebService客 户
经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务
   1)创建Java Project:WebServiceClient(这是project名称,不是选项,当初看成选项,郁闷半天也没 有找到此选项)
   2)引入MyEclipse Libraries
   右键WebServiceClient—>Build Path—>Add Libraries
  myeclipse xfire 开发webservice实例
   选择XFire 1.2 HTTP Client Libraries
  myeclipse xfire 开发webservice实例
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,在控制台中看到如下输出

myeclipse xfire 开发webservice实例

Could not find operation with name getName

是因为在接口中并没有写这个方法,添加上就OK了



本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/798916,如需转载请自行联系原作者

上一篇:Java后端开发岗必备技能:Java并发中的内存模型


下一篇:Java Swing界面编程(22)---事件处理:动作事件及监听处理