使用开放源代码框架的 Java 应用程序的 Web 服务集成模式,第 1 部分: 实现调用模式
2009-11-05 00:00:00 来源:WEB开发网应该注意,WSIF 调用文档样式的 Web 服务方面有一些限制。从应用程序(在本例中为客户机)的角度而言,我们将与请求-响应模式集成归类为“同步调用”类型的活动,而单向模式则属于“异步调用”类型。
应用程序客户机端点调用的请求
同步调用
在同步调用中,客户机将消息发送给服务,并等待响应。服务接收到该消息,对其进行处理,并发送回响应。
按照 WSDL 语法中的定义,请求-响应操作包含输入和输出元素——首先是输入,然后是输出。
清单 1. 请求-响应操作的 WSDL<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name="nmtoken" parameterOrder="nmtokens">
<wsdl:input name="nmtoken"? message="qname"/>
<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
WSIF 可提供动态调用 Web 服务的灵活性。WSIF 将对 WSDL 进行解析,获取为服务定义的关于服务、端口、绑定和操作的信息。用户可以在运行时选择端口、传输和操作,并提供输入参数来调用 Web 服务。此处的优势在于,不需要为每个 Web 服务编写独立的客户机。使用 WSIF 的另一个优势是,即使 Web 服务的端点改变,客户机也不用改变。事实上,客户机甚至不需要知道 Web 服务的位置。而且,如果在将来给定服务作为 EJB 提供,客户机可以使用新 WSDL 调用 EJB,而不要对客户机代码进行任何修改。WSIF 对 WSDL 进行分析,从而为输入、输出和错误的 WSIFService、WSIFPort、WSIFoperation、WSIFMessage 创建对象实例,并执行相应操作。WSIF 分发中提供了一个动态调用 Web 服务的一个示例。此方法特别适用于调用简单 Web 服务。WSIF 可以用于调用 RPC 和文档样式的 Web 服务。在清单 2 中,示例代码演示了如何使用 WSIF 来调用 RPC 样式的 Web 服务。
更多精彩
赞助商链接