Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle Service Bus variable assignment null / no value

JuwNov 24 2016 — edited Nov 28 2016

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.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 26 2016
Added on Nov 24 2016
3 comments
1,054 views