【问题标题】:How to create web service using Database adapter in OSB Console?如何在 OSB 控制台中使用数据库适配器创建 Web 服务?
【发布时间】:2012-05-05 19:24:32
【问题描述】:

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

【问题讨论】:

    标签: database soa adapter osb


    【解决方案1】:

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

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

    创建数据库适配器的步骤

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

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

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

    配置数据库适配器

    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 中部署了 DbAdaptor,它指向同一个 JNDI。

    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. 单击“开始”,您将看到回复。

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

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

    谢谢,希望对您有所帮助。

    【讨论】:

      【解决方案2】:

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

      您需要在 JDeveloper 中创建 DB Adapter,然后通过 OEPE/OSB Console 将其导入。 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-18
        • 1970-01-01
        • 1970-01-01
        • 2018-07-01
        • 2019-12-06
        • 2014-10-28
        • 2018-04-06
        • 1970-01-01
        相关资源
        最近更新 更多