快速业务通道

在Apache Geronimo应用程序中实现和部署Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
口应该扩展 java.rmi.Remote —— 所有方法都声明为抛出 java.rmi.RemoteException。最 后,参数和返回值是 JAX-RPC 兼容的(在我们的例子中,它们是具有默认构造函 数的 JavaBean 和原始类型)。简单地说,在示例应用程序中,这个接口是 EJB 的远程接口,但是用 java.rmi.Remote 替换了父接口 javax.ejb.EJBObject,并 删除了调用者名称参数。

在实现 Web 服务的端点接口之后,就可以生成 WSDL了。下一节描述这个过程 。

从端点接口生成 WSDL

当前,Geronimo 应用服务器没有提供生成 WSDL 文档的标准工具集。但是, Sun 站点上的 J2EE 1.4 工具可以满足我们的需要。用于生成各种 Web 服务相关 工件的工具称为 wscompile,位于 Sun J2EE 发行版的 bin 子目录中。

要生成 WSDL 文档,应该为 wscompile 创建一个配置文件。清单 1 显示了这 个配置文件:

清单 1. wscompile 工具的配置文件

<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax- rpc/ri/config">   <service name="BusinessLogic"        targetNamespace="http://ibm.com/samples/workdev/v1/wsdl"        typeNamespace="http://ibm.com/samples/workdev/v1/types"        packageName="com.ibm.workdev.v1.interfaces">    <interface  name="com.ibm.workdev.v1.interfaces.BusinessLogicEndpoint"/>   </service> </configuration>

可以看出这个文件的结构很简单。它包含名称空间、包和服务端点接口引用的 声明。清单 2 显示了 wscompile 的调用字符串:

清单 2. 调用 wscompile

%SUN_J2EE_HOME%\bin\wscompile -classpath  <APP_CLASSES>;%GERONIMO_HOME%\repository\geronimo- spec\jars\geronimo-spec-j2ee-1.4-rc4.jar -gen:server - f:documentliteral config.xml

清单 2 中的 SUN_J2EE_HOME 是 Sun J2EE SDK 的主目录。APP_CLASSES 是指 定应用程序类(包括端点接口类)的目录。GERONIMO_HOME 是 Geronimo 的主目 录。注意,这个工具不只生成 WSDL,还生成几个支持类。

在Apache Geronimo应用程序中实现和部署Web服务(3)

时间:2011-08-27 IBM Ivan Dubrov

下一步是更新生成的 WSDL,使元素的名称在业务上下文中更容易理解。 wscompile 没有保留方法参数名,而是将它们转换为 long_2(参数类型加参数位 置)这样的名称,这将 for? 声明为方法的第二个参数,类型为 long。例如, performTransfer 操作的第二个参数可以重新命名为 amount。

接下来,确保所有消息都正好有一个部分。对于没有返回值的方法, wscompile 生成没有部分的消息。这个错误需要纠正。为了纠正这个错误,必须 声明一个包含空序列的 XML 元素,并用这个元素将一个部分添加到消息中。清单 3 演示了如何声明这样的 XML 元素:

清单 3. XSD 响应类型

<element name="performTransferResponse">   <complexType>    <sequence/>   </complexType> </element>

下面是来自消息声明的片段:

清单 4. WSDL 消息

<message  name="BusinessLogicEndpoint_performTransferResponse">    <part name="result" element="ns2:performTransferResponse"/> </message>

另外一种办法是从头开发 WSDL 文档。注意,Eclipse WTP 项目包含一个方便 的 WSDL 文档编辑器。

创建 JAX-RPC 映射

在生成 WSDL 之后,需要为方法参数创建 JAX-RPC 映射文件和值类,然后再 创

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号