myeclipse搭建webservice实例讲解

来源:互联网 发布:理财软件下载 编辑:程序博客网 时间:2024/05/23 18:31

本文主要讲解如何使用myeclipse集成的xfire构建web service,并构建一个客服端去访问!步骤如下:

1. 新建web Service Project工程,名为MyWebService【注意框架要选择XFire】

2. 点击next后选择默认

3. 点击Finish后,自动生成web.xml配置文件,这个是tomcat服务器的配置文件,这个自动生成的文件的作用就是服务器告诉所有访问路径http://127.0.0.1:8080/MyService/services/*的请求全部交给org.codehaus.xfire.transport.http.XFireConfigurableServlet去处理。【这边xfire基于sevlet实现,关于tomcat的web.xml的配置问题可以上网查阅】

4. 新建一个webservice的服务端,【File】|【new】|【other】|【MyEclipse】|【Web services】|【web service】【如果要暴露多个服务一下步骤重复就可】

 

5. 点击next后,【stragety】选择第二个同时把复选框选上

6.点击next,输入服务类名MyService,新建一个包名com.server

 

7.点击finish,在包server下自动生成一个接口类IMyService和一个实现类MyServiceImpl,在Web Service文件下自动生成services.xml【这个xml的意思就是对发布的web服务接口的描述】

8.部署这个web service到tomcat上,其实只要驱动tomcat即可,

9.在浏览器中输入:http://127.0.0.1:8080/MyWebService/services【默认端口是8080,这边列出了所有可以得到的服务方法和相应的wsdl】这边就说明服务端已经成功部署了,点击wsdl如下:

10.下面我们新建一个客服端访问这个服务。

新建一个java类,这个java类可以在任意的工程中,不一定要在本工程中。

输入如下代码:这边为了能够查看soap报文添加了调试信息

package org.client;

import java.net.MalformedURLException;

import java.net.URL;

import org.codehaus.xfire.client.Client;

 

public class MyClient {

    public static void main(String[] args)throws MalformedURLException,

           Exception {

 

       Client client = new Client(new

       URL("http://localhost:8080/MyWebService/services/MyService?wsdl")); //这个会根据相应的wsdl秒速构想相应的客服端

       client.addInHandler(new org.codehaus.xfire.util.dom.DOMInHandler());

       client.addOutHandler(neworg.codehaus.xfire.util.dom.DOMOutHandler());

       client.addFaultHandler(neworg.codehaus.xfire.util.dom.DOMOutHandler());

       client.addInHandler(new org.codehaus.xfire.util.LoggingHandler());

       client.addOutHandler(new org.codehaus.xfire.util.LoggingHandler());

       client.addFaultHandler(new org.codehaus.xfire.util.LoggingHandler());

       Object[] results = client.invoke("example",new Object[] { "yongge" }); //这边调用wsdl描述中的example方法,同时传递参数“勇哥”

       System.out.println(results[0]); //这边输出

    }

}

11.这边要注意如果没有Client的库 ,通过【工程属性】【java build path】【add library】【myeclipse libraries】【XFire 1.2 http client libraries】引进来:

12.运行结果如下图:

 

2010-12-21 14:17:49org.codehaus.xfire.util.LoggingHandler invoke

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

<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soap:Body>

<ns1:examplexmlns:ns1="http://server.com">

<ns1:in0>yongge</ns1:in0>

</ns1:example>

</soap:Body>

</soap:Envelope>

 

2010-12-21 14:17:51org.codehaus.xfire.util.LoggingHandler invoke

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

<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soap:Body>

<ns1:exampleResponsexmlns:ns1="http://server.com">

<ns1:out>yongge</ns1:out>

</ns1:exampleResponse>

</soap:Body>

</soap:Envelope>

 

yongge

 

 

13. 全文完,祝你成功!关于web services的原理什么的,请自行上网查阅!