通过axis2将POJO发布成web服务的过程比较简单。所需要的文件有代表数据的类,将要发布成服务的类,以及services.xml。
下面是java类的代码:
下面是java类的代码:
java 代码
- Code Listing 1: The Weather POJO
- package sample.pojo.data;
- public class Weather{
- float temperature;
- String forecast;
- boolean rain;
- float howMuchRain;
- public void setTemperature(float temp){
- temperature = temp;
- }
- public float getTemperature(){
- return temperature;
- }
- public void setForecast(String fore){
- forecast = fore;
- }
- public String getForecast(){
- return forecast;
- }
- public void setRain(boolean r){
- rain = r;
- }
- public boolean getRain(){
- return rain;
- }
- public void setHowMuchRain(float howMuch){
- howMuchRain = howMuch;
- }
- public float getHowMuchRain(){
- return howMuchRain;
- }
- }
- Code Listing 2: The WeatherService class
- package sample.pojo.service;
- import sample.pojo.data.Weather;
- public class WeatherService{
- Weather weather;
- public void setWeather(Weather weather){
- this.weather = weather;
- }
- public Weather getWeather(){
- return this.weather;
- }
- }
下面是services.xml文件:
xml 代码
- <service name="WeatherService" scope="application">
- <description>
- Weather POJO Service
- </description>
- <messageReceivers>
- <messageReceiver
- mep="http://www.w3.org/2004/08/wsdl/in-only"
- class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
- <messageReceiver
- mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
- </messageReceivers>
- <parameter name="ServiceClass">
- sample.pojo.service.WeatherService
- </parameter>
- </service>
将java文件编译以后,把class文件以及xml文件按照axis2的目录要求打包,发布到运行在合适的容器中的axis2中,该服务就可以被外部通过web服务的方式进行调用了。