0

我完成了 OSB 快速入门教程 ( http://www.oracle.com/technetwork/articles/jumpstart-for-osb-development-page--097357.html ) 并希望扩展其功能。

目前我得到以下回复:

<cus:GetAllCustomersResponse  xmlns:cus="http://www.waai.nl/cdm/customer"> 
    <cus:Customer> 
        <cus:customerId>1</cus:customerId> 
    </cus:Customer> 
    <cus:Customer> 
        <cus:customerId>2</cus:customerId> 
    </cus:Customer> 
</cus:GetAllCustomersResponse> 

我有一个带有 ID 和名称的 XML 文件。我能够从响应中提取“1”和“2”。我想从另一个 ID 为 1 和 ID 2 的 XML 文件中获取名称并将它们作为响应。

我尝试了各种方法,但我能得到的只是“1 和 2”以及整个 XML 文件。

4

1 回答 1

0

没有足够的代表发表评论。

请添加您的尝试示例,以便指出问题。你最后成功的一步是什么?不清楚你的意思是什么

我能得到的只有“1 和 2”和整个 XML 文件。

我猜你实现了 GetAllCustomers操作并被困在GetCustomerById上? 所有数据的示例都会很有用,因此无需在参考文章中查找下载。

我假设您希望将 name 字段与 id 一起作为GetAllCustomers的响应。(或者只为GetCustomerById留下 1 名客户的姓名ID?)


下面的文字仅供参考,是我在仔细阅读参考文章之前发布的原始答案的一部分。作业不是一本好手册,部分是荷兰语...

这里的基本思想是在任何循环(例如)中检查 idsfor XML 的客户,并将名称从 id 解析为名称映射XML。如果响应模式允许它的名称可以与 id 一起插入ids,否则您需要修改模式(或添加新模式)。

有多种方法可以做到这一点。考虑到您的数据和用例,最佳解决方案由您决定。

这可以通过插入操作来完成,以将数据添加到现有的ids XML:

  1. OSB 循环遍历 ids 中的id并使用 select name by id from id 到带有 XPath的名称映射

这些也可作为分配操作的选项来创建新的(合并的)XML:

  1. 接受 2 个参数并产生 1 个结果的 XQuery 转换
  2. 接受 2 个参数并产生 1 个结果的 XSLT 转换
于 2013-10-31T22:00:35.937 回答