WebService入门实例项目详细教程(图)

http://blog.csdn.net/hxx688/article/details/4159716

1.在ECLIPSE中创建工程项目, 并导入XFIRE包, 结构图

 

 

WebService入门实例项目详细教程(图)_第1张图片

 

 

2. 在WEB.XML中进行配置

 

 

[xhtml]  view plain copy
  1. <servlet>  
  2.   <servlet-name>XFireServletservlet-name>  
  3.   <servlet-class>  
  4.   org.codehaus.xfire.transport.http.XFireConfigurableServlet  
  5.   servlet-class>  
  6.   <load-on-startup>0load-on-startup>  
  7. servlet>  
  8. <servlet-mapping>  
  9.   <servlet-name>XFireServletservlet-name>  
  10.   <url-pattern>/services/*url-pattern>  
  11. servlet-mapping>  

 

 

3. 创建HelloService接口及HelloService.aegis.xml配置文件

 

WebService入门实例项目详细教程(图)_第2张图片

HelloService:

 

[java]  view plain copy
  1. package cn.test;  
  2.   
  3. import java.util.List;  
  4.   
  5. public interface HelloService {  
  6.    
  7.  public String sayHello(List names);  
  8.    
  9. }  

 

HelloService.aegis.xml:

 

[xhtml]  view plain copy
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <mappings>  
  3.     <mapping>  
  4.        <method name="sayHello">  
  5.            <parameter index="0" componentType="java.lang.String" />  
  6.            <return-type componentType="java.lang.String" />  
  7.        method>  
  8.     mapping>  
  9. mappings>  

 

4. 创建接口实现类HelloServiceImpl

 

[java]  view plain copy
  1. package cn.test;  
  2.   
  3.   
  4. import java.util.ArrayList;  
  5. import java.util.Iterator;  
  6. import java.util.List;  
  7.   
  8.   
  9. /** 
  10.  
  11. * 
  12.  
  13. *用户传入LIST类型参数,  然后获取里面所有数据 
  14.  
  15. **/  
  16.   
  17. public class HelloServiceImpl implements HelloService {  
  18.   
  19.  public String sayHello(List names) {  
  20.   String result = "";  
  21.   for(Iterator it = names.iterator(); it.hasNext();){  
  22.    String value = (String)it.next();  
  23.    result += "Hello: " + value + "/n";   
  24.   }  
  25.   return result;  
  26.  }  
  27.   
  28. }  
  29.   
  30.    

 

5.配置services.xml文件

WebService入门实例项目详细教程(图)_第3张图片

 

 

[xhtml]  view plain copy
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://xfire.codehaus.org/config/1.0">  
  3.   <service>  
  4.       <name>HelloServicename>  
  5.       <namespace>http://cn.test/HelloServicenamespace>  
  6.       <serviceClass>cn.test.HelloServiceserviceClass>  
  7.       <implementationClass>cn.test.HelloServiceImplimplementationClass>  
  8.   service>  
  9. beans>  

 

6. 创建客户端测试类ClientTest

 有两种调用方法

 

第一种适用于JAVA编写的webservice:

 

 

[java]  view plain copy
  1. Service srvcModel = new ObjectServiceFactory().create(HelloService.class);  
  2.   XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());  
  3.   String url = "http://127.0.0.1:8088/WebService/services/HelloService";  
  4.   List values = new ArrayList();  
  5.   values.add("liming");  
  6.   values.add("HanMeiMei");  
  7.   HelloService hello = null;  
  8.   try {  
  9.     hello = (HelloService)factory.create(srvcModel, url);  
  10.   } catch (MalformedURLException e) {  
  11.    // TODO Auto-generated catch block  
  12.    e.printStackTrace();  
  13.   }  
  14.   String val = hello.sayHello(values);  
  15.   System.out.println(val);  
  16.   
  17.    

第二种适合于所有程序开发的WEBSERVICE

通过WSDL描述文件进行交互:

Client client = new Client (new URL("http://127.0.0.1:8088/WebService/services/HelloService?wsdl"));

Object[] result = client.invoke("sayHello", new String[]{"LiMing", "HanMeiMei"});

 

7. 部署WS程序

 

WS-4

 

8. 运行客户端程序输出结果:

 

WS-5

 

 

这是自己编写的一个完整简单的入门教程, 不足之处请指正, 希望对各位新手有所帮助.

贵在坚持, 不要因为一时的挫败而放弃.

 

如果你热爱各种主流开发技术, 欢迎加入本人群号:19310171

你可能感兴趣的:(WebService)