使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2
2010-03-19 00:00:00 来源:WEB开发网需要引起注意的代码用粗体显示。第一行通过接受服务端点或该服务的 URL 创建客户机存根。然后将调用 ask() 方法,后者创建 Ask 请求,这与 AskResponseDocument 在 清单 4 中的创建方法类似。该请求将通过调用 stub.Ask() 发送,并将把响应放在 resDoc 中。然后可以通过调用 resDoc.getAskResponse().getAnswer() 来获得接收到的回答,这类似于在 清单 4 的骨架代码的开头处获得问题的方法。
到目前为止,您在 Axis 和 Axis2 中看到的 Web 服务都是同步的,它们也被称为阻塞的 Web 服务调用。Axis2 通过非阻塞调用提供了更多的异步支持,可以将它们放在 AskPortTypeCallbackHandler 类中,并在上述客户端代码中调用 stub.startAsk() ,而不是 stub.Ask()。
在 Geronimo 上部署和运行客户机
与 Axis 相比,部署 Axis2 Web 服务更为轻松并且不需要太多的步骤。同样,在本节中要确保 <axis2-install-dir>/WEB-INF/lib 目录中的所有 .jar 文件都在 CLASSPATH 中。现在部署前面下载到 Geronimo 上的 axis2.war:
cp axis2.war <geronimo-install-dir>/deploy
通过输入以下内容编译构成 Axis2 Web 服务的所有 Java 文件:
ant jar.server
AskService.aar 文件在 ./build/lib/AskService.aar 中创建,此文件随时可通过其 Web 接口部署在 Axis2 上。请打开浏览器,进入 http://localhost:8080/axis2/Login.jsp。
现在分别使用 admin 和 axis2 作为用户名和密码登录(参见 图 1)。
图 1. 登录到 Axis2
查看原图(大图)
接下来,将浏览器指向 http://localhost:8080/axis2/upload.jsp。
单击 browse 按钮,查找刚才创建的 Ask.aar 文件,然后单击 Open。现在单击 upload(参见 图 2)。几秒之后,将完全部署您的 Web 服务。
图 2. 上载 Axis2 Web 服务
查看原图(大图)
既然已经部署了 Web 服务,就可以通过运行客户机进行测试。为此,必须将 AskService.aar 文件和 XBeans-packaged.jar 文件(都在 ./build/lib 目录中)添加到 CLASSPATH 中。在完成此操作后,请输入以下内容来运行客户机:
java com.ibm.axis2.ask.Client
应该会看到分别来自服务器和控制台的关于 Liza 和 Georgy 的输出消息,这些消息与在运行 Axis Web 服务的客户端时看到的输出消息相同。
注意,在 Axis2 中部署比在 Axis 中更简单,这都要归功于方便的 build.xml 文件、Axis Archive 文件和功能性强的 Web 接口!
结束语
现在您已经使用 Apache Geronimo 成功地将 Axis Web 服务移植到了 Axis2 中。已经看到了 Axis2 对 Axis 进行了哪些改进。
本文示例源代码或素材下载
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接