设计与开发 JAX-WS 2.0 Web 服务(3)

上面列出的 Web 服务客户机代码执行以下任务:

· 通过传入 OrderProcess Web 服务的 WSDL URL 和服务的 QName 创建 OrderProcess 类的实例。

· 创建 OrderBean 的实例,并使用 populateOrder() 方法填充订单信息。

· 对服务调用 getOrderProcessPort(),以检索到服务的代理(也称为端口)。端口实现服务所定义的接口。

· 调用端口的 processOrder 方法,并同时传入在上面的第二个列表项目中创建的 OrderBean 实例。

· 从服务获得 OrderBean 响应并输出订单 ID

7运行 Web 服务客户机

要运行 Web 服务客户机,请首先从 JAXWS-Tutorial 文件夹运行以下命令来编译 Web 服务客户机:

javac com\ibm\jaxws\tutorial\service\client\OrderClient.java

通过使用以下命令提供订单处理 Web 服务的 WSDL URL 来运行 Web 服务客户机:

Java com.ibm.jaxws.tutorial.service.client.OrderClient http://localhost:8080/OrderProcessWeb/orderprocess?wsdl

运行 Web 服务客户机时,会在控制台看到以下输出(OrderWebServicePublisher 在控制台中运行):

processOrder called for customer A123
 Number of items is 1

在运行 Web 服务客户机的控制台中,会得到以下输出:

Order id is A1234

如上面的客户机代码中所示,并不会处理调用 Web 服务操作时使用的任何基于 SOAP 或 XML 的格式;相反,需要处理的是输入和输出消息的 JAXB 生成类,并使用服务接口和服务类对象(充当 Web 服务调用的存根)。存根负责从 JAXB Annotation 创建 SOAP 请求,并将 SOAP 响应转换回 Java 对象。

您现在已经成功地创建和发布了 Web 服务,并通过 Web 服务客户机成功地执行了此服务。

8总结

在本教程中,我们了解了如何使用代码优先的开发方法和 JAX-WS 技术设计和开发 Web 服务。JAX-WS 是一个非常不错的选择,因为其中提供了完整的 Web 服务堆栈,以简化 Web 服务的开发和部署。

本教程中开发的订单处理 Web 服务使用 Document 样式的 Web 服务,可确保服务使用者和服务提供者使用 XML 文档进行通信。XML 文档遵循定义良好的契约,而此类契约通常都是使用 XML 模式定义创建的。XML 模式格式指定服务使用者能够调用和遵循的业务消息的契约。Document 样式的 Web 服务应该是开发企业 Web 服务的首选方法。

<!--EndFragment-->

你可能感兴趣的:(设计模式,Web,xml,IBM,SOAP)