快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
建返回值。它们可以用前面提到的 wscompile 工具生成。

这种情况的 wscompile 配置见下面的 清单 5:

清单 5. wscompile 的配置

<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax- rpc/ri/config"> <wsdl    location="file:///BusinessLogic.wsdl"    packageName="com.ibm.workdev.v1.interfaces"/> </configuration>

调用行如下:

清单 6. 调用 wscompile

%SUN_J2EE_HOME%\bin\wscompile -s src-gen -keep - mapping mapping.xml -classpath <SAMECLASSPATH> -gen:client - f:documentliteral config.xml

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

时间:2011-08-27 IBM Ivan Dubrov

这个工具的类路径与生成 WSDL 时一样。src-gen 是应该放置 JAX-RPC bean 源类的目录。注意,需要在生成 WSDL 之前创建这个目录。最好将它与应用程序 源目录分开,因为可能已经存在一些值类,wscompile 会覆盖它们。

并不是生成的所有文件都是必要的 —— 只需要缺失的 bean 的源代码。例如 ,在这个应用程序中,不需要 Account JavaBean 的源代码,因为它已经存在了 。针对不同序列化器的其他源代码也是不需要的,因为它们是 Sun J2EE 实现所 特有的。

wscompile 生成的 JAX-RPC 需要一些后期手工处理。首先,所有 wsdl- message-part-name 元素的值为 parameters。必须将它们重新命名以匹配来自部 分元素序列的对应元素名(封装的文档/字面格式的每个部分有具有复杂类型的元 素,等于元素序列)。

例如,清单 7 显示 XSD 类型:

清单 7. 显示 XSD 类型的 WSDL 片段

<complexType name="registerUser">   <sequence>    <element name="username" type="string" nillable="true"/>    <element name="password" type="string" nillable="true"/>   </sequence> </complexType>

清单 8 显示消息部分中方法参数的映射:

清单 8. 方法参数的 JAX-RPC 映射

<method-param-parts-mapping>   <param-position>0</param-position>   <param-type>java.lang.String</param-type>   <wsdl-message-mapping>    <wsdl-message  xmlns:wsdlMsgNS="http://ibm.com/samples/workdev/v1/wsdl">     wsdlMsgNS:BusinessLogicEndpoint_registerUser    </wsdl-message>    <wsdl-message-part-name>username</wsdl-message-part- name>    <parameter-mode>IN</parameter-mode>   </wsdl-message-mapping> </method-param-parts-mapping>

注意,文档/包装样式中的 wsdl-message-part-name 提供了元素名,而不是 消息部分本身的名称。

另一个问题是,wscompile 为返回类型是 void 的方法的返回值生成 JAX-RPC 映射(在 wsdl-return-value-mapping 元素中描述)。这些 wsdl-return- value-mapping 元素应该删除(否则在部署期间会抛出 NullPointerException) 。正确的行为在 Web services for J2EE, Version 1.0 规范中还不明确(单向 方式在这里不适合,因为调用可能失败,所以结果对于客户机很重要)。

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

时间:2011-08-27 IBM Ivan Dubrov

部署 Web 服务

在下一步中,应该开发 webservices.xml 部署描述符。它将 WSDL、JAX-RPC 映射、处理程序和后端实现 bean 结

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号