sfr*_*frj 5 java soa soap web-services jax-ws
我正在使用JAX-WS对基于SOAP的Web服务进行一些研究,我发现了解客户端部分非常复杂.如果有人可以帮我解释一些主题,我会非常感激.我正在使用SOA书籍和Google,但我真的很困惑,所以我想在这里我可以得到更准确的答案,专注于我需要的东西.
因此,我们可以以同步和异步方式与Web服务进行通信.同步通信缺乏双方必须等待,直到处理结束.
异步客户端允许我们使用2种编程模型以异步方式进行通信:1-回调和2-轮询
在谈论异步通信时,我也明白生产者(Web服务)应该有一种方法,一旦处理完成就找到消费者(客户端).这就是为什么我们要解决.
还有一件事.Dispatch API也让我很困惑.因为他们一直在谈论动态客户.
小智 2
回调:实现并不简单。
- 优点:与轮询方法相比,这种方法更加优雅/系统。
- 缺点:客户端应该有一种机制,以便服务器可以使用回调将其回调。
投票:实施很简单。
- 优点:由于其技术简单,因此具有通用性,即使是支持ajax的网页也可以使用此技术来检查请求的更新是否可用。
- 缺点:带宽的巨大浪费,还有服务器客户端计时问题,例如如果客户端的轮询请求尚未到来,服务器应保留响应多长时间。
2.您能简单解释一下寻址是如何工作的吗?寻址与回调和轮询技术有何关系?
寻址使得网络服务能够理解先前仅在消息传递系统和传输提供商之间共享的信息。考虑这个用例,最初使用的传输是 HTTP 来发送请求和响应。然后您可能想要更改此传输的一部分,例如在将响应发回时,仅更改为 SMTP 协议。如果您使用 ws 寻址,则与传输和寻址相关的整个信息将成为 SOAP 信封本身的一部分,这将使您的 Web 服务可以动态地将传输更改为响应发送。
Web 服务寻址还可用于从服务器到客户端的回调。该服务在 WSDL 中通知其所需回调的端口类型。客户端实现此端口类型,然后使用 WS 寻址向服务通知回调端点。
简而言之,WS 寻址向肥皂信封添加了额外的标签,其中包括仅出现在传输标头中的信息,例如从地址、到地址、操作名称等。
3.如果他们一直在谈论动态客户端,那么Dispatch API与异步通信有何关系?
Future<?> response = dispatch.invokeAsync(T, AsyncHandler);
Run Code Online (Sandbox Code Playgroud)
invokeAsync 方法是一种轮询方法。响应立即返回给用户,并且可以轮询是否完成。与此同时,客户端程序可以做其他工作。 javax.xml.ws.Response 实现了 J2SE 5.0 中包含的 java.util.concurrent.Future 接口。Response 对象通过其 get 方法返回实际响应,如果响应尚未准备好返回,该方法将阻塞。
4.Dispatch API的2种使用模式(MESSAGE和PAYLOAD),它们的用途是什么,它们与JAXWS的异步通信模型有何关系?
消息传递模式与异步通信没有直接关系。消息传递模式定义了 Web 服务请求中发送的信息量。仅当使用 SOAP 绑定时才能使用 MESSAGE MODE。
| 归档时间: |
|
| 查看次数: |
2259 次 |
| 最近记录: |