Oracle Service Bus - прокси-сервис на основе XML

У меня есть файл xml, например

<A>
    <B>abc</B>
    <C>1</C>
</A>
<A>
    <B>def</B>
    <C>2</C>
</A>

Мне нужно получить значение «B» на основе значения «C», которое будет вводиться прокси-службой в OSB. Пожалуйста, помогите, как я создам этот тип прокси-сервиса?


person Ranvir Rana    schedule 25.08.2015    source источник


Ответы (2)


XQuery и 2 простых присваивания:

Create a XQuery resource which will return your XML structure

1) Inside Proxy, first action is Assign XQuery call to the file above as a local variable, ie: $xmlFile
2) Then another Assign where you do $xmlFile/A[./C=$body/C]/B/text()
person Jonathon J Howey    schedule 25.08.2015

Вы можете создать прокси-сервис без указания ссылки на WSDL, которая будет принимать простой XML в качестве входных данных. OSB помещает этот XML-ввод в раздел soap: Body.

Таким образом, XPath можно использовать для извлечения значения из этой полезной нагрузки, например $ body / A [1] / B / text ().

Используйте действие «Назначить», если вам нужно получить только один раз, или используйте Xquery.

Надеюсь, это поможет.

person Deepak Verma    schedule 02.09.2015