我最近开始使用OSB,我遇到了“替换整个节点或替换节点内容”的功能。任何人都可以通过示例帮助我列出两者之间的差异。 这是一个非常基本的问题,但我刚刚开始学习osb并想要做到这一点。
提前致谢。
干杯..
答案 0 :(得分:4)
好的,我们假设你有一个变量$body
。你的代理已经做了一些东西,并且已经设置了$ body,你想在返回之前通过xquery转换运行它。
$ body将类似于
<soap:Body xmlns:soap="etc">
<ns0:response xmlns:ns0="etc2">
<ns0:item>
<!-- etc etc -->
</ns0:item>
</ns0:response>
</soap:Body>
如果替换整个节点,则必须将其替换为<soap:Body>
。 (我的意思是,你可能用不同的东西替换它,但你会在某处遇到错误,因为OSB希望$ body是某种类型)
如果替换节点内容,则可以将其替换为任何内容:可能是已转换的<ns0:response>
,但通常用完全不同的元素替换它。无论哪种方式,<soap:Body>
元素都不受影响,并且所有内部都被挖出并替换。
大多数情况下,您将替换$ body的节点内容而不是替换整个节点,但如果它是您自己创建的变量,那么它可能会取决于什么你想要的。