创建WebService

来源:互联网 发布:linux 调试动态库so 编辑:程序博客网 时间:2024/06/07 08:35

 

 

     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,支持POJOschema开发. 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 

      2Project NameWebServiceServerFrameworkXFire,其他选项默认

      3Next,这一步保持默认值

     4Project Library选择,选择XFire 1.2  Core Libraries

     5Finish,创建成功后看到的工程目录如下:

     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://locahost:9090/WebServiceServer/services/HelloWebService?WSDL,单击"Go"

   其中9090是服务器端口号,services在之前的web.xml中指定

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

五、创建WebService客户端

经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务

  1)创建Java ProjectWebServiceClient

  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,在控制台中看到如下输出

 

 

截图如下:

 

下一步

 

下一步

Finish

WebServices/services.xml实际上是接口和实现类,可以自己写java类,也可以自动生成,如:

新建一个Web Service

下一步:关联到前面建的项目HelloWorld

下一步:接口名HelloWorldService,默认的接口为IhelloWorldService,实现类为HelloWorldServiceImpl

完成后如下:

WebServices/services.xml自动生成为:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://xfire.codehaus.org/config/1.0">

    <service>

       <name>HelloWorldService</name>

       <serviceClass>com.service.IHelloWorldService</serviceClass>

       <implementationClass>

           com.service.HelloWorldServiceImpl

       </implementationClass>

       <style>wrapped</style>

       <use>literal</use>

       <scope>application</scope>

    </service>

</beans>

 

 

访问地址:

http://192.168.72.8:8888/HelloWrold/services/HelloWebService?wsdl