对于给定的任务,我需要将 OSB 与 DB 适配器一起使用,我相信 BPEL 流程不会比 OSB 表现更好。我浏览了一些站点,但所有站点都在演示 OEPE 而不是 OSB 控制台。任何回应将不胜感激。
2 回答
我的项目中有类似的要求,我在这里和那里都想知道。这是问题的最终解决方案。我为你们记录了。
JDeveloper 中的步骤 1. 在 JDeveloper 中创建数据库连接。2. 创建一个通用项目。3. 将 Project 创建为 SOA 项目并使用 Empty Composite。
创建数据库适配器的步骤
- 转到复合调色板并选择 AD 适配器。
- 将 DB Adapter 拖放到 External Reference 部分(复合视图的右侧)。
- 它将打开一个向导,用于选择连接和其他数据库相关进程。
- 为您要创建的服务命名
- 选择您已经创建的数据库连接。
- 通过选择您希望 Web 服务执行的存储过程或表(插入/选择)功能来移动一个。
- 如果您选择表格插入/选择,那么您还可以选择表格之间的关系作为可选步骤。
- 如果您不想要任何特殊功能,请尝试将所有步骤保持默认。
- 完成向导中的所有步骤后,它将在您的项目下生成大量文件。
- 查找 4 个主要文件.jca、xsd/ .xsd、*.mapping.xml、*.wsdl
- 如果您在项目中看到所有这些文件都生成得很好,那么您就一切就绪,我们可以继续前进。如果不是,则查找问题。
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. 如果你正确地完成了一切。一切就绪,您可以选择测试连接,应该是测试成功。
配置数据库适配器
- 转到左侧面板上的部署。
- 在已部署的服务中。搜索 DbAdaptor。
- 单击名称 DbAdaptor。
- 选择配置选项卡。并在其下选择出站连接池。
- 在这里你会看到(javax.resource.cci.ConnectionFactory)
- 点击新建。
- 选择 javax.resource.cci.ConnectionFactory
- 下一页将询问 JNDI 名称。为此,您必须转到 *.jca 文件并选择 Connection-factory 已经存在的值作为 Location(如 connection-factory location=?)。使用 Location 的值作为 JNDI 名称。
- 交易将是无交易。暂时选择这个。这是需要依据的选择。
- 保持其他选择不变,然后完成。
- 注意:一旦完成。再次转到“属性”选项卡并查找属性名称:xADataSourceName。它的值应该与您在 *.jca 文件中的 UIConnectionName 相同。它应该被填充。如果没有,那么您现在也可以设置。您必须双击值部分,然后输入名称并按 Enter。然后保存它。
- 通过以上所有步骤,我们将 DbAdaptor 设置为指向我们拥有表/存储过程的同一个数据库。
我们上面做的是:
• 我们有JCA 文件和WSDL 用于我们的服务。与数据库设置一起。• 我们在 WLS 中为我们的数据库提供了一个数据源。• 我们在WLS 中部署了指向同一个JNDI 的DbAdaptor。
OSB 控制台中的步骤
- 创建一个项目。
- 在 Project 下创建 3 个文件夹。像资源、代理服务、业务服务。
- 激活您的项目。
- 在资源文件夹中。我们必须添加 JCA 映射。将它指向我们在上述步骤中已经拥有的 *.jca(我们已经创建了 JDeveloper)。只需给出路径并保存。它可能会给你错误。暂时忽略。
- 在资源文件夹中。添加 WSDL 并提供 *.wsdl 的路径。如果它给出错误。然后暂时忽略。
- 在资源文件夹中。添加一个 XSD 并为我们已经拥有的 *.xsd 提供路径。
- 在资源文件夹中。添加 XML 并提供文件 *Mapping.xml 的路径。
- 再次访问资源 WSDL 并单击其名称。“编辑参考文献”。选择您已有的 XSD 并保存。
- 重新访问资源 JCA 并单击其名称并编辑参考并将其指向 mapping.xml
- 现在你会看到所有的错误都消失了。
- 激活您的项目。
- 转到左侧并通过选择 wsdl 项目选择业务服务和创建业务服务。在下一页上选择绑定。
- 然后选择 JCA 并给出 IES 的“位置”(请记住,我们在 *.jca 中的 connection-Factory 中有一个值作为位置。我们在创建 DbAdaptor 时使用了它)。在这里给出这个值。
- 移动到下一个,下一个和下一个并完成。
- 您的业务服务已准备就绪。
- 现在创建一个代理服务。选择代理服务并从业务服务选项中选择,然后选择您在上述步骤中创建的业务服务。
- 然后点击完成
- 激活您的项目。
- 就是这样,我们都准备好了。在代理服务中,您可以单击查看 End Point URl 是什么,并妥善保管以供将来参考。这是我们必须提供给客户端以调用我们的服务的 url。
- 有了这个,我们都完成了。
来自客户的电话。
- 为此选择 SOAPUi。
- 创建新项目并提供终点 URL。
- 它将显示其中的所有服务。
- 选择一项服务。创建请求。
- 将值放入请求 XML 并通过附加 Localhost:port 使用端点 URL。
- 单击 go,您将看到返回的响应。
所以,最后:我们完成了使用 DB 适配器测试 OSB 项目。
这看起来很长,但是一旦你这样做了,接下来的服务就很容易了。
谢谢,希望会有所帮助。
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