Axis2-将pojo发布成web服务

通过axis2将POJO发布成web服务的过程比较简单。所需要的文件有代表数据的类,将要发布成服务的类,以及services.xml。
下面是java类的代码:
java 代码
  1. Code Listing 1: The Weather POJO   
  2.   
  3. package sample.pojo.data;   
  4.   
  5. public class Weather{   
  6.     float temperature;   
  7.     String forecast;   
  8.     boolean rain;   
  9.     float howMuchRain;   
  10.        
  11.     public void setTemperature(float temp){   
  12.         temperature = temp;   
  13.     }   
  14.   
  15.     public float getTemperature(){   
  16.         return temperature;   
  17.     }   
  18.        
  19.     public void setForecast(String fore){   
  20.         forecast = fore;   
  21.     }   
  22.   
  23.     public String getForecast(){   
  24.         return forecast;   
  25.     }   
  26.        
  27.     public void setRain(boolean r){   
  28.         rain = r;   
  29.     }   
  30.   
  31.     public boolean getRain(){   
  32.         return rain;   
  33.     }   
  34.        
  35.     public void setHowMuchRain(float howMuch){   
  36.         howMuchRain = howMuch;   
  37.     }   
  38.   
  39.     public float getHowMuchRain(){   
  40.         return howMuchRain;   
  41.     }   
  42. }   
  43.   
  44.   
  45.   
  46. Code Listing 2: The WeatherService class  
  47.   
  48. package sample.pojo.service;   
  49.   
  50. import sample.pojo.data.Weather;   
  51.   
  52. public class WeatherService{   
  53.     Weather weather;   
  54.        
  55.     public void setWeather(Weather weather){   
  56.         this.weather = weather;   
  57.     }   
  58.   
  59.     public Weather getWeather(){   
  60.         return this.weather;   
  61.     }   
  62. }  

下面是services.xml文件:

xml 代码
  1. <service name="WeatherService" scope="application">  
  2.     <description>  
  3.         Weather POJO Service   
  4.     </description>  
  5.     <messageReceivers>  
  6.         <messageReceiver    
  7.             mep="http://www.w3.org/2004/08/wsdl/in-only"  
  8.     class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>  
  9.         <messageReceiver  
  10.             mep="http://www.w3.org/2004/08/wsdl/in-out"  
  11.     class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>  
  12.     </messageReceivers>  
  13.     <parameter name="ServiceClass">  
  14.         sample.pojo.service.WeatherService   
  15.     </parameter>  
  16. </service>  

将java文件编译以后,把class文件以及xml文件按照axis2的目录要求打包,发布到运行在合适的容器中的axis2中,该服务就可以被外部通过web服务的方式进行调用了。

 

你可能感兴趣的:(apache,xml,Web)