向多平台(主要是java和.net)客户端提供异步服务接口的最佳方式是什么?后端服务用java实现。
我们正在研究异步web服务和消息队列,但显然java还不支持跨平台异步web服务*(据我所知),对于消息队列,我不确定哪种编解码器/协议是最好的。
*:跨平台异步web服务可以在WSDL2.0中描述,但不能在WSDL1.1中描述(据我所知)。现在,JAX-WS2.x支持异步web服务,但不支持WSDL2.x。因此,我假设JAX-WS异步web服务的客户端必须是JAX-WS客户端,并且我们不能使用。
提前感谢!
编辑:这里的困难在于服务是异步的,为了提高效率,我们更喜欢基于回调的接口(所以我们不想在同步WS接口上使用2个调用,等等)。
发布于 2010-07-22 17:07:34
不知道什么是最好的,但是SOAP是Java后端的一个很好的选择。消息是基于xml的(例如,不限于Java平台),它被广泛使用,因此您在网上获得了许多支持、工具和库。
另一个可能适合您需求的想法是: XMPP。
它绝对是异步的,客户端发送服务请求(包装在xmpp消息中)就是回调,不会等待立即响应。我曾将其用于从xmpp客户机向服务器发送“服务请求”并立即或稍后接收答案的场景,具体取决于计算的复杂程度。这是一种人机交互,但机器-机器应该更容易。
发布于 2010-07-22 17:11:51
如果是消息传递,则使用Messagequeue系统。比如ZeroMQ。它们都是跨平台的。
否则,我们使用java,并使用.net中的JaxWS来测试该接口是否兼容。
https://stackoverflow.com/questions/3307203
复制相似问题