0

对于给定的任务,我需要将 OSB 与 DB 适配器一起使用,我相信 BPEL 流程不会比 OSB 表现更好。我浏览了一些站点,但所有站点都在演示 OEPE 而不是 OSB 控制台。任何回应将不胜感激。

4

2 回答 2

5

我的项目中有类似的要求,我在这里和那里都想知道。这是问题的最终解决方案。我为你们记录了。

JDeveloper 中的步骤 1. 在 JDeveloper 中创建数据库连接。2. 创建一个通用项目。3. 将 Project 创建为 SOA 项目并使用 Empty Composite。

创建数据库适配器的步骤

  1. 转到复合调色板并选择 AD 适配器。
  2. 将 DB Adapter 拖放到 External Reference 部分(复合视图的右侧)。
  3. 它将打开一个向导,用于选择连接和其他数据库相关进程。
  4. 为您要创建的服务命名
  5. 选择您已经创建的数据库连接。
  6. 通过选择您希望 Web 服务执行的存储过程或表(插入/选择)功能来移动一个。
  7. 如果您选择表格插入/选择,那么您还可以选择表格之间的关系作为可选步骤。
  8. 如果您不想要任何特殊功能,请尝试将所有步骤保持默认。
  9. 完成向导中的所有步骤后,它将在您的项目下生成大量文件。
  10. 查找 4 个主要文件.jca、xsd/ .xsd、*.mapping.xml、*.wsdl
  11. 如果您在项目中看到所有这些文件都生成得很好,那么您就一切就绪,我们可以继续前进。如果不是,则查找问题。

WLS 控制台中的步骤
创建数据源

1.转到左侧面板并选择数据源。2. 选择 New -- Generic Data Source 3. 根据需要指定名称,但对于 JNDI 名称,您必须使用您已经拥有的 *.JCA 文件中的连接名称。打开 jca 文件并搜索“UIConnectionName”。该值将用作数据源创建中的 JNDI 名称。
4. 选择 Driver 作为 oracle.jdbc.xa.client.OracleXADataSource 5. 使用您在 DB Connection 期间选择的主机和端口以及其他详细信息(在 JDeveloper 中)。这是明显的一步。6. 选择目标AdminServer。7. 如果你正确地完成了一切。一切就绪,您可以选择测试连接,应该是测试成功。

配置数据库适配器

  1. 转到左侧面板上的部署。
  2. 在已部署的服务中。搜索 DbAdaptor。
  3. 单击名称 DbAdaptor。
  4. 选择配置选项卡。并在其下选择出站连接池。
  5. 在这里你会看到(javax.resource.cci.ConnectionFactory)
  6. 点击新建。
  7. 选择 javax.resource.cci.ConnectionFactory
  8. 下一页将询问 JNDI 名称。为此,您必须转到 *.jca 文件并选择 Connection-factory 已经存在的值作为 Location(如 connection-factory location=?)。使用 Location 的值作为 JNDI 名称。
  9. 交易将是无交易。暂时选择这个。这是需要依据的选择。
  10. 保持其他选择不变,然后完成。
  11. 注意:一旦完成。再次转到“属性”选项卡并查找属性名称:xADataSourceName。它的值应该与您在 *.jca 文件中的 UIConnectionName 相同。它应该被填充。如果没有,那么您现在也可以设置。您必须双击值部分,然后输入名称并按 Enter。然后保存它。
  12. 通过以上所有步骤,我们将 DbAdaptor 设置为指向我们拥有表/存储过程的同一个数据库。

我们上面做的是:

• 我们有JCA 文件和WSDL 用于我们的服务。与数据库设置一起。• 我们在 WLS 中为我​​们的数据库提供了一个数据源。• 我们在WLS 中部署了指向同一个JNDI 的DbAdaptor。

OSB 控制台中的步骤

  1. 创建一个项目。
  2. 在 Project 下创建 3 个文件夹。像资源、代理服务、业务服务。
  3. 激活您的项目。
  4. 在资源文件夹中。我们必须添加 JCA 映射。将它指向我们在上述步骤中已经拥有的 *.jca(我们已经创建了 JDeveloper)。只需给出路径并保存。它可能会给你错误。暂时忽略。
  5. 在资源文件夹中。添加 WSDL 并提供 *.wsdl 的路径。如果它给出错误。然后暂时忽略。
  6. 在资源文件夹中。添加一个 XSD 并为我们已经拥有的 *.xsd 提供路径。
  7. 在资源文件夹中。添加 XML 并提供文件 *Mapping.xml 的路径。
  8. 再次访问资源 WSDL 并单击其名称。“编辑参考文献”。选择您已有的 XSD 并保存。
  9. 重新访问资源 JCA 并单击其名称并编辑参考并将其指向 mapping.xml
  10. 现在你会看到所有的错误都消失了。
  11. 激活您的项目。
  12. 转到左侧并通过选择 wsdl 项目选择业务服务和创建业务服务。在下一页上选择绑定。
  13. 然后选择 JCA 并给出 IES 的“位置”(请记住,我们在 *.jca 中的 connection-Factory 中有一个值作为位置。我们在创建 DbAdaptor 时使用了它)。在这里给出这个值。
  14. 移动到下一个,下一个和下一个并完成。
  15. 您的业​​务服务已准备就绪。
  16. 现在创建一个代理服务。选择代理服务并从业务服务选项中选择,然后选择您在上述步骤中创建的业务服务。
  17. 然后点击完成
  18. 激活您的项目。
  19. 就是这样,我们都准备好了。在代理服务中,您可以单击查看 End Point URl 是什么,并妥善保管以供将来参考。这是我们必须提供给客户端以调用我们的服务的 url。
  20. 有了这个,我们都完成了。

来自客户的电话。

  1. 为此选择 SOAPUi。
  2. 创建新项目并提供终点 URL。
  3. 它将显示其中的所有服务。
  4. 选择一项服务。创建请求。
  5. 将值放入请求 XML 并通过附加 Localhost:port 使用端点 URL。
  6. 单击 go,您将看到返回的响应。

所以,最后:我们完成了使用 DB 适配器测试 OSB 项目。

这看起来很长,但是一旦你这样做了,接下来的服务就很容易了。

谢谢,希望会有所帮助。

于 2014-01-30T21:11:06.640 回答
1

OSB 控制台不支持创建JCA DB 适配器,OEPE 也不支持。

您需要在 JDeveloper 中创建 DB Adapter,然后通过 OEPE/OSB 控制台将其导入。OEPE 更容易;-)。

如需指南,请参阅: http: //guidoschmutz.wordpress.com/2010/08/08/oracle-service-bus-11g-and-db-adapter-a-different-more-integrated-approach/

或者

https://blogs.oracle.com/middleware/entry/using_jca_adapter_with_osb_11113

于 2012-04-25T12:26:24.477 回答