hi i am new in Oracle Service Bus(11g) and i'm having a strange behaviour.. i'll try to breakdown as detail as i can for the case :
1. i create a proxy service with 2 input (code, transactionDate)
2. i do service callout to business service with empty request and i will retrieve 4 column as the response (url, driverName, folderLocation, batchId). i put those 4 variable in responseVar
3. i do java callout passing batchId, folderLocation, code, transactionDate
4. i do publish to a business service passing code, transactionDate, url, driverName, folderLocation, batchId
at this step 4, i'm having a empty url, driverName, folderLocation, batchId.
so i try to call a alert with $responseVar expression. i can see in alert the value of each node is exist.
the detail of my publish call is :
inside publish, i add replace in the request action (xpath : '.' , in variable : body).
and then i prepare the body matching the business services need. example :
<jrf:mtomRequest xmlns:jrf="http://www.oracle.com/JRFMW_SW_LOAD">
<jrf:code>{$body/mtom:mtomRequest/mtom:code/text()}</jrf:code>
<jrf:transactionDate>{$body/mtom:mtomRequest/mtom:transactionDate/text()}</jrf:transactionDate>
<jrf:batch_id>{$responseVar/jrf:JRFMWGetFlexParamOutput/jrf:BATCH_ID/text()}</jrf:batch_id>
<jrf:server_folder>{$responseVar/jrf:JRFMWGetFlexParamOutput/jrf:SERVER_FOLDER/text()}</jrf:server_folder>
<jrf:driver_name>{$responseVar/jrf:JRFMWGetFlexParamOutput/jrf:DRIVER_NAME/text()}</jrf:driver_name>
<jrf:jdbc_url>{$responseVar/jrf:JRFMWGetFlexParamOutput/jrf:JDBCURL/text()}</jrf:jdbc_url>
</jrf:mtomRequest>
my workaround is i use a assign function just to store the variable that i need to use. example : assign {$responseVar/jrf:JRFMWGetFlexParamOutput/jrf:BATCH_ID/text()} to $batchIdVar. i'm not worried if there's only a few variable that i need to use. but what if more than 10 variable that i need to use ?
for the $body, the value is just correct. only the newly added variable that having a strange behaviour.
i found this
| Bug 18683719 : OSB - XPATH IN CURLY BRACES EVALUATION IN VARIABLE ASSIGNMENT INCONSISTENT | |
in the metalink, the latest status is closed and not bugs.
can someone pointed out am i using wrong way to use variable in osb ? or this is a bugs ? any better workaround to this issue ?
thanks in advance.