首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Axis2公布调用webService笔记_2

2013-07-08 
Axis2发布调用webService笔记_2?图1二、编写和发布WebService??对于用Java实现的服务程序给人的印象就是需

Axis2发布调用webService笔记_2

?

图1

二、编写和发布WebService

??对于用Java实现的服务程序给人的印象就是需要进行大量的配置,不过这一点在Axis2中将被终结。在Axis2中不需要进行任何的配置,就可以直接将一个简单的POJO发布成WebService。其中POJO中所有的public方法将被发布成WebService方法。

??? 下面我们来实现一个简单的POJO,代码如下:


?

图2

??? 在浏览器地址栏中输入如下的两个URL来分别测试getGreeting和getPrice方法:

http://localhost:8080/axis2/services/SimpleService/getGreeting?name=bill

http://localhost:8080/axis2/services/SimpleService/getPrice

??? 图3和图4分别显示了getGreeting和getPrice方法的测试结果。


?

图3? getGreeting方法的测试结果


?

图4? getPrice方法的测试结果

??? 在编写、发布和测试0配置的WebService时应注意如下几点:

??? 1.?POJO类不能使用package关键字声明包。

??? 2.?Axis2在默认情况下可以热发布WebService,也就是说,将WebService的.class文件复制到pojo目录中时,Tomcat不需要重新启动就可以自动发布WebService。如果想取消Axis2的热发布功能,可以打开<Tomcat安装目录>\webapps\axis2\WEB-INF\conf\axis2.xml,找到如下的配置代码:

package?client;

import?javax.xml.namespace.QName;
import?org.apache.axis2.addressing.EndpointReference;
import?org.apache.axis2.client.Options;
import?org.apache.axis2.rpc.client.RPCServiceClient;

public?class?StubClient
{
????public?static?void?main(String[]?args)?throws?Exception??
????{
????????SimpleServiceStub?stub?=?new?SimpleServiceStub();
????????SimpleServiceStub.GetGreeting?gg?=?new?SimpleServiceStub.GetGreeting();
????????gg.setName("比尔");
????????System.out.println(?stub.getGreeting(gg).get_return());
????????System.out.println(stub.getPrice().get_return());
????}?
}

??? 上面的代码大大简化了调用WebService的步骤,并使代码更加简洁。但要注意的是,wsdl2java.bat命令生成的Stub类将WebService方法的参数都封装在了相应的类中,类名为方法名,例如,getGreeting方法的参数都封装在了GetGreeting类中,要想调用getGreeting方法,必须先创建GetGreeting类的对象实例。

热点排行