我完成了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文件 .
1 回答
没有代表评论 .
请添加您的尝试示例,以便指出问题 . 你上一次成功的步骤是什么?目前还不清楚你的意思
我猜你实现了 GetAllCustomers 操作并被卡在 GetCustomerById 上?所有数据的示例都很有用,因此无需在引用的文章中查找下载 .
我假设您希望将name字段与id一起作为 GetAllCustomers 的响应 . (或者只留下1位客户 name 和 id 表示 GetCustomerById ?)
下面的文字保留为FYI,是我在阅读引用文章之前发布的原始答案的一部分 . 作业不是很好的手册,部分是荷兰语...
这里的基本思想是在任何循环中回顾 ids XML的客户(例如
for
)并解析 id to name map XML中的名称 . 如果响应模式允许它 name 可以与 ids 中的id一起插入,否则您需要修改模式(或添加新模式) .有多种方法可以做到这一点 . 最好的解决方案取决于您选择考虑您的数据和用例 .
这可以通过 Insert 动作将数据添加到现有的 ids XML:
这些也可用作创建新(合并)XML的 Assign 操作的选项:
XQuery转换,它接受2个参数并产生1个结果
XSLT转换,它接受2个参数并产生1个结果