WEB开发网
开发学院软件开发Java 使用 Apache Geronimo 将 Apache Axis 应用程序移... 阅读

使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: 需要引起注意的代码用粗体显示,第一行通过接受服务端点或该服务的 URL 创建客户机存根,使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2(9),然后将调用 ask() 方法,后者创建 Ask 请求,在 Axis2 中部署比在 Axis 中更简单,这都要

需要引起注意的代码用粗体显示。第一行通过接受服务端点或该服务的 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
使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2

查看原图(大图)

接下来,将浏览器指向 http://localhost:8080/axis2/upload.jsp。

单击 browse 按钮,查找刚才创建的 Ask.aar 文件,然后单击 Open。现在单击 upload(参见 图 2)。几秒之后,将完全部署您的 Web 服务。

图 2. 上载 Axis2 Web 服务
使用 Apache Geronimo 将 Apache Axis 应用程序移植到 Axis2

查看原图(大图)

既然已经部署了 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 进行了哪些改进。

本文示例源代码或素材下载

上一页  4 5 6 7 8 9 

Tags:使用 Apache Geronimo

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接