使用SOAP在Delphi中实现长轮询的可用选项有哪些?
我有一个Delphi企业应用程序,它充当
Java后端(SOAP,Axis2)的客户端.我的一些请求需要不确定或特别大的时间才能完成,我想为SOAP请求实现一个长轮询解决方案.
据我所知,我通常会使用WS-Addressing.但是,似乎Delphi SOAP客户端(WCF)没有实现WS-Addressing. 我被锁定在Java和Delphi中.我使用Axis 2组件,例如生命周期,但我可以转换到另一个Web服务引擎.我控制服务器和客户端. 在Delphi和Java中实现长轮询有哪些选择? 解决方法
你说Java已经在服务器端使用了,你在那里被锁定为Java(如果我理解正确的话).
在这种情况下,我首先尝试使用Java EE的任何最先进的SOAP实现来实现Java客户端原型作为“概念证明”.这个建议背后的原因是,它将为您提供一些Java实践(以及一般的Web服务)中的不同选项的实践经验,以实现异步处理. 将这个概念证明移植到Delphi将是第二步. 在做了一些研究后,我看不到任何对使用SOAP进行长轮询的特定支持的引用(通过WS-Adressing或其他方式). 但是,从SOAP 1.2开始,“异步SOAP”处理是处理长时间运行过程的常用方法.例如在JBoss中支持它 – (Asynchronous web services with JBoss WS). 也许你也可以使用消息代理来考虑不同的架构.这称为SOAP over JMS. Delphi有免费和商业客户端,允许从JMS系统接收SOAP响应. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |