现在的位置: 首页 > 综合 > 正文

MyEclipse创建Web Service Project实例

2013年01月22日 ⁄ 综合 ⁄ 共 2450字 ⁄ 字号 评论关闭

由MyEclipse搭建一个Web Service Project实例是非常容易的,在于知道和不知道而已,完全没有技术可言。

一个Web Service Project的主要任务,就是让几个不同的组件之间能够互相操作,而这一技术的实现,又依赖于HTTP 和 SOAP协议。SOAP,Simple Object Access Protocol,简单对象访问协议。

下面介绍一种比较流行的框架--XFire,在MyEclipse的搭建。

一、环境配置  MyEclipse8.5 && JDK1.6

二、new ==>Web Service Project

1)FrameWork选择XFire

2)Next,默认;

3)Library选择,XFire 1.2  Core Libraries;

4)Finish,文件结构如下:

5)从web.xml对比普通的web项目,我们可以看到很熟悉的东西,url-pattern,看到这几个配置,心理淡定了不少。

三、用MyEclipse为Web Service Project生成对外的接口:new ==> other ==>myelcipse ==> Web Services ==> Web service

1)Strategy是java class

 

2)Web Service Name:

 

3)finish

4)修改HelloServiceImpl.java以供测试

[java] view
plain
copy

  1. public class HelloServiceImpl implements IHelloService {  
  2.       
  3.     public String example(String message) {  
  4.         return sayHello(message);  
  5.     }  
  6.       
  7.     private String sayHello(String name){  
  8.         return "Hello," +name;  
  9.           
  10.     }  
  11. }  


四、部署WebService

1)像部署普通web一样,部署到tomcat上去。

2)测试WebService,

3)打开Web Service Explorer之后,点击右上角一个WSDL Page的图标,Navigator里面的内容会变成WSDL Main,点击它,在右边的WSDL URL里面敲入:

http://localhost:8080/MyWebService/services/HelloService?WSDL

端口是对应的tomcat的端口,和你的webService的名称。开发过j2EE的朋友应该很容易理解,为什么要这样写地址,看一下生成的services.xml就知道了。

可以看到,现在对外的接口只有example一个。

通过浏览器访问URL,可以看到更加直观的wsdl:

 

五、写个Client尝试调用一下:

1)创建一个普通的java Project: new ==> java project

2)为新的project添加library。点击项目,鼠标右键,选择properties,选择左边的java build path,再点击右边的add library按钮,选择MyEclipse libraries,找到这两个文件:

3)新建一个类,调用example:

[java] view
plain
copy

  1. import java.net.MalformedURLException;  
  2. import java.net.URL;  
  3.   
  4. import org.codehaus.xfire.client.Client;  
  5.   
  6. public class HelloInvoke {  
  7.   
  8.     /** 
  9.      * @param args 
  10.      * @throws Exception  
  11.      * @throws MalformedURLException  
  12.      */  
  13.     public static void main(String[] args) throws Exception {  
  14.         Client client = new Client(  
  15.                 new URL("http://localhost:8080/MyWebService/services/HelloService?WSDL")  
  16.         );  
  17.         //利用java的反射机制可以远程地得到已经在wsdl中声明的对象  
  18.         Object[] results = client.invoke("example"new Object[]{"jacob.Ye"});  
  19.         System.out.println("results[0] " + results[0]);  
  20.     }  
  21.   
  22. }  


运行:

output:

  /*

      Hello,jacob.Ye

  */

一个简单的WebService就算是调用完毕。

附加webservice解释说明

<?xml version="1.0" encoding="UTF-8"?>
  <service>
    <name>add</name><!--
服务名称 -->
    <namespace>org.demo.webservice/add</namespace><!--
指定命名空间 -->
    <serviceClass>org.demo.webservice.IAdd</serviceClass><!--
指定服务的接口 -->
    <implementationClass>org.demo.webservice.Add</implementationClass><!--
指定接口的实现类 -->
  </service>
</

抱歉!评论已关闭.