【问题标题】:What options are available to implement long polling in Delphi with SOAP?哪些选项可用于使用 SOAP 在 Delphi 中实现长轮询?
【发布时间】:2014-11-29 00:37:39
【问题描述】:

我有一个 Delphi 企业应用程序,它充当 Java 后端(SOAP、Axis2)的客户端。我的一些请求需要不确定或特别长的时间才能完成,我想为 SOAP 请求实现一个长轮询解决方案。

据我所知,我通常会为此使用 WS-Addressing。然而,Delphi SOAP 客户端 (WCF) 似乎没有实现 WS-Addressing。

我沉迷于 Java 和 Delphi。我使用 Axis 2 组件,例如生命周期,但我可以转换到另一个 Web 服务引擎。我控制服务器端和客户端。

在 Delphi 和 Java 中实现长轮询有哪些选择?

【问题讨论】:

  • RemObjects 可能有一些现成可用的东西。
  • 简要查看 RemObjects 的功能列表表明它是 WS-I Compliant 的,但它没有提到对 WS-Addressing 的支持,或者我知道的任何形式的长轮询。

标签: java delphi soap delphi-xe2 ws-addressing


【解决方案1】:

你说 Java 已经用在服务器端,而你在那里被锁定在 Java 中(如果我理解正确的话)。

在这种情况下,我会首先尝试使用任何最先进的 Java EE SOAP 实现来实现 Java 客户端原型作为“概念验证” .此建议背后的原因是,它可以让您亲身体验 Java 端(以及一般的 Web 服务)实现异步处理的不同选项。

将这个概念证明移植到 Delphi 将是第二步。


另外,在做了一些研究之后,我看不到任何对使用 SOAP(通过 WS-Adressing 或其他方式)进行长轮询的特定支持的参考。

但是,“异步 SOAP”处理是自 SOAP 1.2 以来处理长时间运行的过程的常用方法。例如在 JBoss - (Asynchronous web services with JBoss WS) 中支持它。

也许您还可以考虑使用消息代理的不同架构。这称为基于 JMS 的 SOAP。 Delphi 有免费和商业客户端,它们允许从 JMS 系统接收 SOAP 响应。

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 2011-09-16
    • 2012-06-02
    • 2012-10-06
    • 2014-01-08
    • 2016-03-10
    相关资源
    最近更新 更多