【问题标题】:OSB Service based on WSDL having multiple ports基于具有多个端口的 WSDL 的 OSB 服务
【发布时间】:2014-04-14 15:55:37
【问题描述】:

你好吗! 我有一个场景,我需要创建一个基于 WSDL 的 OSB 服务(这只是一个传递服务),该 WSDL 包含 2 个端口,每个端口都指向不同的 URL。在这种情况下,如何创建代理和业务服务。如我所见,当我基于端口创建代理服务时,一次只能选择一个端口,因此我需要 2 个 OSB 服务/代理。如果我选择绑定,那么端口信息将不会从 wsdl 进入生成的有效代理 wsdl,并且它将只有一个端口,所以即使在这种情况下,我也必须为这 2 个端口生成 2 个 wsdl .我对吗?还是我错过了什么?

关于同一场景的另一个问题 我们将所有 wsdl 存储在 MDS 中,因此需要它们是抽象的(至少不是服务/端口信息)。那么,在这种情况下,如果我将 wsdl 设为抽象,它会丢失端口信息,那我该怎么办呢? 2 个业务服务,每个都指向不同的 URL?那么即使在这种情况下,代理服务又如何呢?暴露一个端口的代理服务如何满足两种不同的服务?

我是否可以通过单一 OSB 服务实现这一目标?我更喜欢在 MDS 中存储抽象 wsdl 的第二种方法。

问候 拉维基兰

【问题讨论】:

    标签: web-services osb


    【解决方案1】:

    当您创建代理服务时,您可以完全控制该代理服务如何调用业务服务。在您的情况下,像运营分支这样简单的东西就足够了,但实际上,OSB 允许您控制对多个服务的调用。您无需为代理服务提供多个端口,因为您可以从内部进行所有调用和控制。

    关于您的第二个问题,您在 OSB 配置中为代理或业务服务使用抽象还是具体的 WSDL 并不重要。 您定义要连接的端点。在商业服务中,OSB 将获取您的 WSDL 并调用您告诉它的任何端点。对于代理服务,运行 OSB 的服务器将指定它将使用的端口地址,在 您为其定义的端点 URI 之外

    我会阅读 Oracle 关于 OSB 概念和架构的文档。它涵盖了很多关于实现代理和业务服务的背景信息,并且可能会指出您想要回答的更具体的问题。尤其是section 2.2 covers the Proxy and business service abstraction这个概念还不错:

    Oracle® Fusion Middleware Concepts and Architecture for Oracle Service Bus 11g Release 1 (11.1.1.7)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多