Java Web 服务: Axis2 中的 JAXB 和 JAX-WS
2009-11-05 00:00:00 来源:WEB开发网Axis2 的 JAXB 支持应该进行扩展,以生成未封装的操作方法(为了方便编程,封装到消息中的值被转换为方法参数 — 再一次建议您参考 “Java Web 服务:Axis2 Data Binding”,获得有关封装接口和未封装接口的讨论。但是使用 WSDL2Java 工具的未封装支持,不管在当前的 Axis2 代码中,还是最近几个发行版中,都不适合这个例子。至少在目前,封装操作方法是惟一可以将 JAXB 用于 Axis2 代码生成的方法(但请立刻参考一下 JAX-WS 讨论 了解另一种替代方法)。对于封装操作接口,每个服务方法都对操作使用一个与输入消息匹配的单一对象参数,并为操作返回一个与输出消息匹配的对象。
附带的代码提供了服务和测试客户机的实际实现,开始处理由运行的 WSDL2Java 生成的类。与本系列早期文章的样例代码相同,下载部分包括用于通过 Apache Ant 构建样例的 build.properties 和 build.xml 文件(位于 jaxb 目录)。您首先需要编辑 build.properties 文件,以将路径设置为您的 Axis2 安装(并修改其他设置,如果系统需要的话)。随后可以在一个打开到 jaxb 目录的控制台中输入 ant 以运行 WSDL2Java,编译附带的和生成的代码,并为服务器部署构建 AAR 文件。要进行尝试,首先将生成的 AAR 文件部署到您的 Axis2 服务器安装并在控制台中输入 ant run。
客户端 JAXB 使用
测试客户机使用作为命令行参数传递进来的服务端点参数创建了一个服务 stub 实例,然后依次执行 5 个服务调用:
获得有关某本书的细节。
获得库中的图书类型。
向库添加一本新书(如果该书已经存在的话,此操作将失败,当客户机在未重启服务器的情况下运行超过一次时,也会出现同样的错误)。
更多精彩
赞助商链接