如何在ADF中的webservice和ejb datacontrol之间建立结果datacontrol?

时间:2015-07-31 15:48:22

标签: web-services oracle-adf jdeveloper

我需要使用webservice调用的结果和另一个数据库中的表创建一个表,我该如何在ADF中执行此操作?

由于

2 个答案:

答案 0 :(得分:2)

最好的方法是聚合两个信息源,就是编写使用ADF业务组件:

  1. 为数据库表创建基于SQL的视图对象。
  2. 重写ViewObjectImpl.executeQueryForCollection()并从这一点以编程方式调用您的Web服务。您迭代Web服务返回,并为您执行的每个结果:

    Row row = this.createRow(); this.insertRow(行); row.setAttribute(" .."," ..."); ......

  3. 然后,从数据源的角度来看,您将视图对象用作任何普通视图对象。

    您还可以在自定义应用程序模块方法中聚合逻辑(db调用和Web服务调用)。该方法执行返回所有记录的VO,然后迭代VO中的现有记录,获取ID并调用Web服务。 Web服务返回后,您可以将来自Web服务的行添加到基于数据库的vo。

    您的VO在UI中显示时,将包含来自DB和Webservice的记录。

答案 1 :(得分:1)

基本上,您需要一个模型层组件,将两个数据源合并在一起。 这可以是ADF BC ViewObjects,但它也可以是一个访问WebService和数据库的简单Java类,合并数据并使用getter和setter公开集合。 然后,您可以将该Java类公开为数据控件,并将其作为表格拖到页面上。