如何在OSB控制台中使用数据库适配器创建Web服务?

时间:2012-04-25 05:56:28

标签: database soa adapter osb

我要求将OSB与数据库适配器一起用于给定任务,我相信BPEL Process不会比OSB更好。我已经浏览了一些网站,但所有网站都在展示OEPE而不是OSB控制台。任何回复将不胜感激。

2 个答案:

答案 0 :(得分:4)

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

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

创建数据库适配器的步骤

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

    1.转到左侧面板,然后选择数据源。 2.选择“新建” - “通用数据源” 3.根据需要提供Name,但对于JNDI Name,您必须使用已有的* .JCA文件中的连接名称。打开jca文件并搜索“UIConnectionName”。此值将在数据源创建中用作JNDI名称 4.选择Driver as oracle.jdbc.xa.client.OracleXADataSource 5.使用主机和端口以及在数据库连接期间选择的其他详细信息(在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设置为指向我们拥有表/存储过程的同一个DB。
    13. 我们上面做的是:

      •我们为我们的服务提供JCA文件和WSDL。随着DB设置。 •我们在WLS中为数据库提供数据源。 •我们在WLS中部署了DbAdaptor,它指向相同的JNDI。

      OSB控制台中的步骤

      1. 创建项目。
      2. 在Project下创建3个文件夹。与资源,代理服务,商业服务一样。
      3. 激活您的项目。
      4. 在Resources文件夹中。我们必须添加JCA Mapping。将它指向我们已经从上面的步骤中获得的* .jca(我们已经创建了它JDeveloper)。只需给出路径并保存。它可能会给你错误。暂时忽略。
      5. 在资源文件夹中。添加WSDL并提供* .wsdl的路径。如果它给出错误。然后暂时忽略。
      6. 在资源文件夹中。添加一个XSD并为我们已经拥有的* .xsd提供路径。
      7. 在资源文件夹中。添加XML并提供文件路径* Mapping.xml。
      8. 再次访问资源WSDL并单击其名称。 “编辑参考”。选择您已有的XSD并保存。
      9. 重新访问资源JCA并单击其名称并编辑引用并将其指向mapping.xml
      10. 到现在为止,您将看到所有错误消失。
      11. 激活您的项目。
      12. 转到左侧,选择wsdl项目,选择业务服务和创建业务服务。在下一页上选择Binding。
      13. 然后选择JCA并给出IES的“位置”(记住我们在连接工厂中的值为* .jca作为位置。我们在创建DbAdaptor时使用过它)。在这里给出这个价值。
      14. 转到下一个,下一个和下一个,然后完成。
      15. 您的商业服务已全部完成。
      16. 现在创建代理服务。选择代理服务并从B usiness Service选项中选择,然后选择您在上一步中创建的业务服务。
      17. 然后点击完成
      18. 激活您的项目。
      19. 就是我们都准备好了。在代理服务中,您可以单击并查看什么是终点URl并确保其安全,以备将来参考。这是我们要求客户拨打我们服务的网址。
      20. 有了这个,我们都完成了。
      21. 来自客户的电话。

        1. 为此目的选择SOAPUi。
        2. 创建新项目并提供结束点网址。
        3. 它将显示其中的所有服务。
        4. 选择一项服务。创建请求。
        5. 将值放入Request XML中,并通过附加Localhost:port。
        6. 使用端点URL
        7. 点击go,您将看到回复。
        8. 所以,最后:我们已经完成了使用DB适配器测试OSB项目。

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

          谢谢,希望这会有所帮助。

答案 1 :(得分:1)

OSB控制台不支持JCA数据库适配器的创建,也不支持OEPE。

您需要在JDeveloper中创建数据库适配器,然后通过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