Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于调用web服务的JAX-WS异步客户端技术_Java_Web Services_Soap_Jax Ws_Soa - Fatal编程技术网

Java 用于调用web服务的JAX-WS异步客户端技术

Java 用于调用web服务的JAX-WS异步客户端技术,java,web-services,soap,jax-ws,soa,Java,Web Services,Soap,Jax Ws,Soa,我正在使用JAX-WS对基于SOAP的web服务进行一些研究,我发现理解与客户机相关的部分非常复杂。 如果有人能帮我解释一些话题,我将不胜感激。我正在使用一本SOA书籍和google,但我真的很困惑,所以这就是为什么我认为在这里我可以得到一个更准确的答案,专注于我需要的东西 因此,我们可以以同步和异步的方式与web服务通信。同步通信的缺点是双方必须等待对方,直到处理结束 异步客户机允许我们使用两种编程模型以异步方式进行通信:1-回调和2-轮询 疑问1:有人能简单地向我解释一下这两种模式(回调和

我正在使用JAX-WS对基于SOAP的web服务进行一些研究,我发现理解与客户机相关的部分非常复杂。 如果有人能帮我解释一些话题,我将不胜感激。我正在使用一本SOA书籍和google,但我真的很困惑,所以这就是为什么我认为在这里我可以得到一个更准确的答案,专注于我需要的东西

因此,我们可以以同步和异步的方式与web服务通信。同步通信的缺点是双方必须等待对方,直到处理结束

异步客户机允许我们使用两种编程模型以异步方式进行通信:1-回调和2-轮询

  • 疑问1:有人能简单地向我解释一下这两种模式(回调和池)的区别和优缺点吗
当谈到异步通信时,我也理解生产者(Web服务)应该有一种方法,在处理完成后找到消费者(客户机)。这就是为什么我们有寻址

  • 疑问2:你能简单解释一下寻址是如何工作的吗?寻址与回调和轮询技术有什么关系
还有一件事。Dispatch API也让我很困惑。因为他们一直在谈论动态客户机

  • 疑问3:如果调度API一直在谈论动态客户端,那么它与异步通信有什么关系
  • 疑问4:调度API的两种使用模式(消息和有效负载),用于什么,它们与JAXWS的异步通信模型有何关系
  • 有人能简单地向我解释一下这两种模式(回调和池)的区别和优缺点吗
  • 回调:实现不是直接的。
    -优点:与轮询方法相比,这种方法更加优雅/系统化。
    -缺点:客户端应该有一种机制,以便服务器可以使用回调函数将其回调。

    轮询:实现非常简单。
    -优点:由于其技术简单,因此具有通用性,即使是支持ajax的网页也可以使用此技术检查请求的更新是否可用。
    -缺点:带宽的巨大浪费,以及服务器-客户端的时间问题,例如,如果客户端的轮询请求尚未到来,服务器应该保留多长时间的响应。

    2.你能简单地解释一下寻址是如何工作的吗?以及寻址与回调和轮询技术的关系如何?

    寻址使Web服务能够理解以前仅在消息传递系统和传输提供商之间共享的信息。考虑这个用例,最初使用的传输将是HTTP,用于发送请求和响应。然后,您可能需要更改该传输的一部分,例如在发送响应时,只对SMTP协议进行更改。如果您使用的是ws-addressing,那么与传输和寻址相关的所有信息都将是soap envolope本身的一部分,这将使您的Web服务能够动态地将传输更改为响应发送

    Webservices寻址也可以用于从服务器到客户端的回调。该服务在WSDL中通知其所需回调的端口类型。客户端实现此端口类型,然后使用WS-addressing将回调端点通知服务

    简单地说,WS-addressing向soap-envolope添加了额外的标记,其中包括仅出现在传输头中的信息,如from-address、to-address、action-name等

    3.如果调度API一直在谈论动态客户端,那么它与异步通信有什么关系

    Future<?> response = dispatch.invokeAsync(T, AsyncHandler);
    
    Future response=dispatch.invokeAsync(T,asynchHandler);
    
    invokeAsync方法是一种轮询方法。响应将立即返回给用户,并可能被轮询以完成。同时,客户端程序可以做其他工作。javax.xml.ws.Response实现了J2SE5.0中包含的java.util.concurrent.Future接口。Response对象通过其get方法返回实际响应,如果响应未准备好返回,则get方法将阻止响应

    4.Dispatch API的两种使用模式(消息和有效负载),用于什么,它们与JAXWS的异步通信模型有何关系?
    消息传递模式与异步通信没有直接关系。消息传递模式定义在web服务请求中发送的信息量。
    消息模式只能在使用SOAP绑定时使用。

    非常有用且准确的答案。非常感谢你。