天天看点

myeclipse xfire 开发webservice实例

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中输入

其中8080是服务器端口号,我用的是tomcat,tomcat用的是8080.services在web.xml中指定的

    若在Status中显示成功打开WSDL文件则测试成功

也可以在浏览器中输入

myeclipse 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,如需转载请自行联系原作者