我需要使用webservice调用的结果和另一个数据库中的表创建一个表,我该如何在ADF中执行此操作?
由于
答案 0 :(得分:2)
最好的方法是聚合两个信息源,就是编写使用ADF业务组件:
重写ViewObjectImpl.executeQueryForCollection()并从这一点以编程方式调用您的Web服务。您迭代Web服务返回,并为您执行的每个结果:
Row row = this.createRow(); this.insertRow(行); row.setAttribute(" .."," ..."); ......
然后,从数据源的角度来看,您将视图对象用作任何普通视图对象。
您还可以在自定义应用程序模块方法中聚合逻辑(db调用和Web服务调用)。该方法执行返回所有记录的VO,然后迭代VO中的现有记录,获取ID并调用Web服务。 Web服务返回后,您可以将来自Web服务的行添加到基于数据库的vo。
您的VO在UI中显示时,将包含来自DB和Webservice的记录。
答案 1 :(得分:1)
基本上,您需要一个模型层组件,将两个数据源合并在一起。 这可以是ADF BC ViewObjects,但它也可以是一个访问WebService和数据库的简单Java类,合并数据并使用getter和setter公开集合。 然后,您可以将该Java类公开为数据控件,并将其作为表格拖到页面上。