Oracle® Retail Service Backbone Cloud Service Developers Guide 19.0.000 F25618-01 |
|
Previous |
Next |
The following code snippet shows the content of setOutboundNamespaceAndOperationInSoap xquery file:
xquery version "1.0" encoding "UTF-8"; (:: pragma parameter="$soapBody" type="xs:anyType" ::) (:: pragma type="xs:anyType" ::) declare namespace xf = "http://tempuri.org/oms-CustomerOrder-AppServiceDecorator/xquery/setOutboundNamespaceAndOperationInSoap/"; declare function xf:setOutboundNamespaceAndOperationInSoap($soapBody as element(*)) as element(*) { let $namespace := fn-bea:serialize(fn:namespace-uri($soapBody/*[1])) let $operation := local-name($soapBody/*[1]) let $destNamespace := 'http://www.oracle.com/retail/oms/integration/services/CustomerOrderService/v1' let $destOperation := if($operation= "queryMyCustomerOrderResponse") then 'queryCustomerOrderResponse' else if($operation= "createMyCustomerOrderResponse") then 'createCustomerOrderResponse' else $operation let $updatedNsBody := replace(fn-bea:serialize($soapBody),$namespace,$destNamespace) let $updatedOperationBody := replace(fn-bea:serialize($updatedNsBody),$operation,$destOperation) return fn-bea:inlinedXML($updatedOperationBody) }; declare variable $soapBody as element(*) external; xf:setOutboundNamespaceAndOperationInSoap($soapBody)