【问题标题】:Stateful SOAP webservice example有状态的 SOAP Web 服务示例
【发布时间】:2019-09-11 16:53:23
【问题描述】:

我正在尝试做一个 POC,我需要调用 Stateful SOAP webservice。我需要首先对 SOAP webservice 进行登录调用并获取会话 id(或 cookie 或类似的东西)并使用会话 id 对 webservice 进行后续调用。我想知道 Internet 上是否有任何示例有状态 SOAP Web 服务,我可以为其生成客户端并尝试调用 Web 服务来验证有状态操作。任何其他关于我如何做到这一点的指示也非常受欢迎。

如果此 POC 成功,我们将调用由我们的供应商之一托管的有状态 SOAP Web 服务,并且我们将使用 TIBCO BW 客户端调用 SOAP Web 服务。

【问题讨论】:

  • 有状态或无状态 SOAP Web 服务调用就像任何其他 Web 服务调用一样。在您的情况下,由于您必须获取第一个 Web 服务调用的响应并在后续调用中使用它,我认为您应该关注如何缓存从第一个调用中收到的 cookie/令牌。此外,如果收到的令牌已过期,您刷新令牌的技术是什么。

标签: web-services soap soap-client soa


【解决方案1】:

您可以从link 中附加的 WSDL 中调用 WebServiceDefinitionLanguage,它带来了令人鼓舞的报价。 您可以在 BW 中使用 SOAP 活动或先将 WSDL 作为资源导入,然后再使用任何 SOAP 或 Web 服务活动。

检查github 中的这个 java 项目是一个多云 java 项目,它调用来自许多云提供商和许多站点的 WebServices 和 Rest 服务。它为您提供了如何执行此操作的想法。

当然在 BW 中真的很容易做到。基本上:启动活动、SOAP 活动、日志、调用子流程、捕获错误、结束流程。

【讨论】:

    【解决方案2】:

    有状态或无状态 SOAP Web 服务调用就像任何其他 Web 服务调用一样。在您的情况下,由于您必须获取第一个 Web 服务调用的响应(即接收令牌)并在后续调用中使用它,我认为您应该关注如何缓存您从第一次调用中收到的 cookie/令牌.此外,如果在您的响应中收到的令牌的有效期与到期相关,请研究刷新令牌的技术,SOAP API 提供程序必须为您提供令牌到期间隔。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 2010-09-10
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 2016-08-31
      • 2011-09-11
      • 1970-01-01
      相关资源
      最近更新 更多