XPath in OSB

Folks,
I was testing Expression structure in OSB Assign action where the XML is just raw XML without any any NameSpaces. I was able to get the attribute values out of the XPath, but the element values were coming back as empty ?
For example :-
<ResponseMessage MessageId="1-bbc90" ErrCode="0" ErrMessage="">
     <A>
     <B>
     <Id>1-7MEW8</Id>
</B>
</A>
</ResponseMessage>
was able to extract the ErrCode & ErrMessage values which are just attributes by just doing this
$response/@ErrCode
$response/@ErrMessage
But when doing this :- $response/A/B/Id/text(), just returned empty.
I had to manually add namespace & namespace prefix to the ResponseMessage XML, then was able to do
$response/ns:A/ns:B/ns:Id/text()
Need to understand why OSB Assign Action, when adding expression without using Namespace, doesn't work, is it because the engine is not using just plain XPATH but using XPATH with XQUERY dependency.
Any feedback appreciated.
Regards,
Abhijeet

Hi Abhijeet,
Not sure what you tried, but if I use below XML and in assign action I give X-path as $body/anuj/name/text() then I am able to get the value "It is my name" in the assigned variable.
<soap:Body>
<anuj>
<name>It is my name</name>
</anuj>
</soap:Body>
Did you try something else?
Regards,
Anuj

Similar Messages

  • How to read properties file(key-value) in OSB?

    Hi
    I have a scenario in which I have to read some properties(key-value) from a file. Earlier whole code was developed in java and its easy to read properties file in java.
    But now need to implement this in OSB and performance is very critical in this project.
    I followed DVM approached defined in
    http://blogs.oracle.com/christomkins/2010/02/domain_value_maps_in_oracle_se.html and http://blogs.oracle.com/christomkins/2010/02/domain_value_maps_in_oracle_se.html
    But it did not work. I have hundreds of properties(key-value pairs) to read and need pass them to the business service along with input of proxy service.
    What is the best approach for this (Can not go for db call as performance is very critical)?
    Thanks
    Vibhor

    $DVM= <dvm      name="InterfaceProperties" xmlns:ns1="http://xmlns.oracle.com/dvm" xmlns="http://xmlns.oracle.com/dvm">
         <columns>
         <column      name="PROPERTY_KEY" qualifier="false" order="1"/>
         <column      name="PROPERTY_VALUE" qualifier="false" order="1"/>
         </columns>
         <rows>
         <row>
         <cell>dealer.locate.default.buypower.link</cell>
         <cell>http://www.xyz.com</cell>
         </row>
         <row>
         <cell>dealer.locate.default.unitOfMeasure</cell>
         <cell>MILES</cell>
         </row>
         <row>
         <cell>dealer.locate.brand.identifier.nu</cell>
         <cell>Nurun</cell>
         </row>
         <row>
         <cell>dealer.locate.brand.identifier.bu</cell>
         <cell>Buick</cell>
         </row>
         <row>
         <cell>dealer.locate.brand.identifier.ca</cell>
         <cell>Cadillac</cell>
         </row>
    </rows>
    </dvm>
    XPATH is- ns1:dvm/ns1:rows[1]/ns1:row[1]/ns1:cell[1]/text()
    If I run this xpath in Jdeveloper,its giving me proper output.
    Please this as CQuery resource and try to run this xpath on OSB console.
    Thanks
    Vibhor
    Edited by: Vibhor Rastogi on Sep 21, 2010 4:59 AM

  • Execute xpath

    Hi
    I have an xml like this:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <catalog>
    <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
    </cd>
    </catalog>
    And I need to obtain the value of /catalog/cd/title, the problem is that this xpath I will have in a string format and I need to execute this xpath in OSB to take the value, I dont know how to do this, if anyone can help I appreciate this.
    Thanks

    I think the problem is that the XPath is specified in a String, it is not hardcoded in the code....
    I have already seen this question being asked,
    I don't see a "result = var.eval(xpath)" function in XQuery
    you can try with a Java Callout:
    http://www.javamonamour.org/2011/08/java-xpath-evaluation.html
    it should definitely be possible

  • Modifying outbound header for basic authentication

    Hi,
    I want to add the username password that is required by the third party, but I dont want to use service account, instead I want to do it in message flow of proxy service by modifying some variable in the variable structure but I am not sure which variable am i suppose to change.
    Please help me out with possible solutions.
    Rgds,
    rahul.

    Hi Atheek,
    I added a transport header while routing to the business service and getting the following error <BEA-386012> <An error ocurred while evaluating the message-level username XPath selector: [OSB Security:386014]the result of the XPath selector is empty>
    I selected the Other option and value as Authorization, in the Action tab I have written xs:base64Binary('testuser:welcome')
    Thanks,
    Rahul

  • Writing XQuery Expressions in XPath editor of OSB

    Hi All,
    I have conditional branch node in my OSB proxy.
    My requirement is
    My input element contains one of {A,B,C}
    if my input element contains one of {A,B} then one branch should executed
    if my input element contains C then other branch should executed.
    I could not achieve my 1st case because I could not specify OR condition in branch.
    Is there any other alternative. I wanted to use branch only.
    My approach is:
    I am trying to use XQuery in XPath editor of branchNode.
    This XQuery implements OR logic and returns string value which selects my A,B branch, but not sure if I can use XQuery in XPath editor
    Thanks,
    Praveen

    Hello,
    Try to put a stage with an assign before the branch, with:
    if (A or B)
    variableCondition = BRANCH-AB
    And in the branch put as condition the variable: variableCondition
    Hope this help you.
    Edited by: user13302387 on 07-mar-2012 4:49

  • XPath function failed in XSLT (OSB 10.3.1)

    Platform : OSB 10.3.1 in Windows XP
    Error : Test following XSLT scripts in OSB Console by getting error
    Error executing the XSLT transformation: java.lang.NoSuchMethodException: For extension function, could not find method weblogic.apache.xpath.axes.WalkingIteratorSorted.upper-case([ExpressionContext,] ).
    XSLT :
    <xsl:stylesheet version="1.0"
         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fn="http://www.w3.org/2004/07/xpath-functions"
         xmlns:imp1="http://www.example.org/FaultMessage">
    <xsl:template match="/">
              <imp1:FaultMessage>
                   <imp1:code>
                        <xsl:text disable-output-escaping="no">Hard-Coding-Error-Code</xsl:text>
                   </imp1:code>
                   <imp1:summary>
                        <xsl:value-of select="/imp1:FaultMessage/imp1:summary" />
                   </imp1:summary>
                   <imp1:detail>
                   <xsl:value-of select="fn:upper-case(/imp1:FaultMessage/imp1:detail)" />
    </imp1:detail>
         </imp1:FaultMessage>
    </xsl:template>
    </xsl:stylesheet>
    Any ideas?
    Thank you
    -Simon
    Edited by: user10981433 on Jun 11, 2009 9:05 PM

    exporting and importing your osb projects to the new environment won't migrate the webservice you were calling from within the Oracle Service Bus.
    if these were created in Eclipse too you can just regenerate an ear-file from them or use the build-scripts to deploy them to you new Weblogic Server.
    don't mix up 2 things
    the osb is only intermediar in here, so you can export/impot the resources from your osb workspace for these.
    but if your process call any external webservice, the webservice itself will also need to get redeployed to the new enviroment, and this is something which has nothing to do with your osb projects.
    it could be these webservice are also build in Eclipse, but they won't be part of the export/import of OSB.
    so check if you have some build.xml script in these webservice projects so you can regenerate the ear archive, or try importing the project in your workspace (if not already done) and rightmouseclick on it > export > ear file
    and use this ear file to deploy the webservice again in the Weblogic Console ( see : http://docs.oracle.com/cd/E13218_01/wlp/docs81/prodOps/deployment.html )

  • Xpath function and XSLT reusability in OSB

    Hi Experts,
    I have xslt which using custome xpath functions and working fine in bpel layer.Can I reuse the same jar,xslt and with some configuration(http://eelzinga.wordpress.com/2010/05/10/oracle-service-bus-11g-using-custom-xpath-functions/) in the OSB layer? its urgent,please respond asap.
    Thanx in advance.-Aswini

    I would think so... after all custom XPath is just Java static functions called from OSB... as long as you stick to the guidelines for method signature exposed here http://docs.oracle.com/cd/E21764_01/doc.1111/e15866/custom_xpath.htm#CBAFHDIJ you should be fine

  • OSB Split Join Repeat Until Question On XPath Condition

    I'm trying to use OSB File Transport to stream a very large XML document file into a service which will split the file into very many small XML documents. So, given a file like:
    <BookStore>
    <Book></Book>
    <Book></Book>
    ... (many more books)
    </BookStore>
    In the split join I want to use a 'repeat until' to process each Book until there are no more Books in the BookStore. Here's my question: What is the correct XPath expression to use as the Repeat Until terminating condition? (I'm an XPath novice.)
    Thanks for your help!!!

    Hi,
    Based on what I understood, you should be using a for each loop with the conditions as follows:
    Within the Split Join flow
    for each ( counter variable from 1 to Count (xpath of book) ) --> For my example it was count($request.parameter/sjpoc:Orders/sjpoc:Order) replace this with your xpath.
    - do your logic
    Snapshot just in case @ http://dl.dropbox.com/u/19901533/sj_foreach_snapshot.JPG
    Based on this the split and join would happen for n (based on count) number of Book tags.
    Let me know if my understanding is incorrect.
    Thanks,
    Patrick

  • XPath expresion problems in OSB(ALSB)

    Hi,
    I´m working on a OSB Proxy with a conditional Branch, but I have a problem, looking to some examples in the web about xPath it is supposed that this xPath expresion:
    */iniciarCambio/cambios/companiaTipo*
    with this XML:
    *<iniciarCambio>*
    *<cambios>*
    *<ListaDeCambios>*
    *<!--1 or more repetitions:-->*
    *<Cambio>*
    *<campoNombre>Cambio1</campoNombre>*
    *<valorAnterior>antes</valorAnterior>*
    *<valorNuevo>despues</valorNuevo>*
    *</Cambio>*
    *</ListaDeCambios>*
    *<companiaId>32</companiaId>*
    *<companiaNombre>MMRedes</companiaNombre>*
    *<companiaTipo>Servicio</companiaTipo>*
    *</cambios>*
    *</iniciarCambio>*
    Should return:
    Servicio
    But we are executing this in the Test Tool and it is returning this:
    *<companiaTipo>Servicio</companiaTipo>*
    Has some body struggled with this kind of issues? is there a way to make this on the OSB xPath? or am I missing someting?
    Tanx alot in advanced!
    Kind Regards,
    Gerardo J

    Hi all!
    Thanx for the answers! I have tried in the past the /text() I tried it again and didn´t worked, some body knows how can I post some screen shots so you can see that I´m using the /text() and maybe with the screen shot you can detect something, also I´m loging the $body in the default branch(cause it is not detecting the value between the tags it goes directly to the Defaul Branch) you will se some differences in the XML since I simplified the XML to make the example and tested this simplified XML it in the TEST Tool in the console and had the same results that with the original evendough I put the /text() at the end
    Here is the Body I loged in the default Branch:
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <imp:iniciarCambio xmlns:imp="http://bea.com/albpm/MMME/ImpactarCambiosClienteBILLING">
    <cambios xmlns:bea="http://bea.com/">
    <bea:ListaDeCambios>
    <!--1 or more repetitions:-->
    <bea:Cambio>
    <bea:campoNombre>Cambio1</bea:campoNombre>
    <bea:valorAnterior>antes</bea:valorAnterior>
    <bea:valorNuevo>despues</bea:valorNuevo>
    </bea:Cambio>
    </bea:ListaDeCambios>
    <bea:companiaId>32</bea:companiaId>
    <bea:companiaNombre>MMRedes</bea:companiaNombre>
    <bea:companiaTipo>Servicio</bea:companiaTipo>
    </cambios>
    </imp:iniciarCambio>
    </soapenv:Body>>
    as you can see it is Servicio and it should have gone to one of the branches instead of the default but it didn´t
    Can´t see what I´m doing wrong, but maybe some of you can.
    Thanx in advanced!
    Gerardo J

  • Extracting node value from XPath Expression in OSB Conditional Branch

    HI All
    While using conditional branch in OSB,i only get an XPath Expression editor to set a variable used to test a condition.
    Now let's say my request is
    <Body>
    <exam:PersonSearchReq xmlns:exam="http://www.example.org">
    <exam:RequestorSSO>James</exam:RequestorSSO>
    </exam:PersonSearchReq>
    </Body>
    I write my XPath expression as :
    ./exam:PersonSearchReq/exam:RequestorSSO/text()
    Now if I test this using the tester application , insted of getting node value 'James' ,i get the entire node element ,i.e
    <exam:RequestorSSO xmlns:exam="http://www.example.org">James</exam:RequestorSSO>
    Please suggest how can i extract the text value.
    Regards,
    Chinmay

    Hi Guys
    Actually it turns out that you need to populate In-Variable to function is correctly.As soon as i entere 'body' in it,it worked fine.
    Thanks
    Chinmay

  • OSB: class not found in custom xpath function

    Hi,
    This week I was struggling with custom xpath functions in OSB. First I created a jar file that contained the class and the complete functionality including logging. It contains a class that does a DVM Lookup from the database. As a standalone function, called from JUnit test cases it functions perfectly. I use Apache commons logging with the libraries from the Weblogic installation.
    But when I put this OSB Util Services jar in the osb-home/config/xpath-function, it turns out that somehow the Weblogic Console gets a conflict with the commons-logging libraries. So I deployed it just as an application library in weblogic console, to solve this breakage.
    Then I created a simple separate class that only calls the method in the deployed library. I packaged that as a custom-osb-functions.jar for the osb-home/config/xpath-function. I managed to get if visible in OEPE. But when I test the xquery transformation resource on the server, I get:
    Error executing the XQuery transformation: {http://www.bea.com/wli/common/xquery}XQueryException: Error invoking custom xquery java function: java.lang.reflect.InvocationTargetException
    java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.stages.functions.XQueryExternalFunction.execute(XQueryExternalFunction.java:111)
    at com.bea.wli.sb.stages.functions.XQueryExternalFunction.init(XQueryExternalFunction.java:61)
    at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:169)
    at weblogic.xml.query.runtime.typing.SeqTypeMatching.open(SeqTypeMatching.java:129)
    at weblogic.xml.query.iterators.FirstOrderIterator.open(FirstOrderIterator.java:167)
    at weblogic.xml.query.runtime.core.ExecutionWrapper.open(ExecutionWrapper.java:58)
    at com.bea.wli.common.xquery.iterators.XQueryVariableMapper.getObjects(XQueryVariableMapper.java:459)
    at com.bea.wli.common.xquery.iterators.XQueryVariableMapper.getObjects(XQueryVariableMapper.java:447)
    at com.bea.wli.sb.test.transform.XQueryProcessor.invoke(XQueryProcessor.java:165)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(Unknown Source)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:252)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: java.lang.NoClassDefFoundError: nl/darwin-it/osb/dvm/DomainValueMap
    at nl.darwin-it.osb.xpath.DomainValueMapLookup.lookupDVM(DomainValueMapLookup.java:35)
    ... 28 more
    Caused by: java.lang.ClassNotFoundException: nl.darwin-it.osb.dvm.DomainValueMap
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
    ... 29 more
    Can any one explain to me how I can get the OSB Util Services jar library in the same classpath as the custom-xpath-functions jar, without having it put along the custom-xpath-functions jar in the osb-home/config/xpath-functions folder (since that somehow breaks the weblogic console)?
    How does the OSB classpath/classloading mechanisms work in this?
    Thanks in advance,
    Regards,
    Martien

    I am running the plugin registration utility but it generates the error mentioned below. I have verified the structure of my zip file and the structure of zip file is:
    -> SelfRegisterUserCustomValidator.zip
    ->Plugin.xml
    ->/lib/SelfRegisterUserCustomValidator.jar
    ->/resources/
    Following our contents of plugin.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <oimplugins>
    <plugins pluginpoint="oracle.iam.request.plugins.RequestDataValidator">
    <plugin pluginclass= "com.infotech.tra.CustomValidator.SelfRegisterUserCustomValidator" version="1.0.0" name="SelfRegisterUserCustomValidator">
    </plugin>
    </plugins>
    </oimplugins>
    Following is the error being generated:
    Enter name (complete file name with path) of the plugin file:
    /u01/oracle/Middleware/Oracle_IDM1/server/plugin_utility/SelfRegisterUserCustomValidator.zip
    [java] Java Result: 1
    [echo] Exception in thread "main" java.lang.NoClassDefFoundError: oracle/iam/platformservice/utils/PluginUtility
    [echo] Caused by: java.lang.ClassNotFoundException: oracle.iam.platformservice.utils.PluginUtility
    [echo] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    [echo] at java.security.AccessController.doPrivileged(Native Method)
    [echo] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    [echo] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    [echo] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    [echo] at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    [echo] Could not find the main class: oracle.iam.platformservice.utils.PluginUtility. Program will exit.

  • OSB: xpath as result of Xquery output ?

    Hi
    I have a non-schema bound XML as input. It will have "KEYWORD" as value of one of the tags.
    I want dynamic text "hello" in place of KEYWORD.
    As of now I convert XML in string with fn-bea:serialize() and then do a fn:replace.
    viz:
    let $received_input :=<C><D>KEYWORD</D></C>
    let $convertedXML:= fn-serialize($received_input)
    let $temp_string:= fn:replace($convertedXML,"KEYWORD","hello")
    let $final_output:=fn-bea:inlinedXML($temp_string)
    return $final_output
    Now note that input xml will always vary, like *<Z>KEYWORD</Z>* or <B><C><D>KEYWORD</D><E>KEYWORD</E></C></B> or anything, only "KEYWORD" will be present for sure.
    Since input xml varies, i don't have a schema. What if I want to use replace action with node contents in variable received_input? I would need to compute xpath of node which has value=KEYWORD. This is dynamic calculation of xpath.
    I wonder if there is a xquery function that I could use in OSB for this? Basically idea is to give input a value and function returns xpath of the node which conntains the value.
    Thanks and Regards
    Swapnil Kharwadkar

    Hi Swapnil Kharwadkar,
    You can do what you want using plain xpath...
    $input =
    <a>
    <b>b</b>
    <c>keyword</c>
    <d>d</d>
    <e>keyword</e>
    </a>$value = 'hello'
    Replace Xpath = //*[. = 'keyword'] in variable = $input expression = $value (replace node contents) will give you...
    <a>
    <b>b</b>
    <c>hello</c>
    <d>d</d>
    <e>hello</e>
    </a>This will work for any schema as the xpath expression is searching by content only...
    Hope this helps...
    Cheers,
    Vlad

  • XPath assignment on OSB assign randomly produces different results.

    Hi All,
    Dear Experts, I am experiencing a not reproducible problem during execution of a Flow in OSB. The problem can be described as follow :
    a have an XQuery that contains only an XML Fragment :
    XQ_Configuration:
    <Configuration>
    <service>
    <name>A1</name>
    <value>aaa</value>
    </service>
    <service>
    <name>B1</name>
    <value>bbb</value>
    </service>
    </Configuration>
    In the OSB Flow I perform an Assign action to a variable $AUX the result of above XQ execution. The result is that $AUX simple contains XML fragment above.
    After in a second assignment I execute this XPath to assign the variable $result data($AUX/service[name='B1']/value).
    The problem is that $result some time contains correctly the value 'bbb', but some time contains 'aaa'.
    The problem occurs at random and is resolved for some time after the restart of the environment and reappears after.
    Thanks a lot,
    Mike

    Hello Mike,
    As the problem is not easily reproducible, so I would suggest you to raise a case with support. They would be able to help you in a better way.
    Regards,
    Anuj

  • Osb-custom xpath function in 11g

    is it possible to place osb-custom.xml in some other locations other than C:\<middlewarehome>\oracle_osb1\config\xpathfunctions and refer it during server startup as we have only read access to oracleOSB1 in production environments???

    I understand your reply and we are already doing that.
    the osb installation is common across the domains .but i need these custom xpath function reflected only for my domain.
    so my query is "whether we can set/overwrite any -D property at server startup or any server/domain level settings rather than updating the installation path?"
    I am just trying to understand whether we can avoid conflicts with multiple domains sharing the same installation.

  • Reuse a variable in OSB XPATH expression editor

    I have a problem with replacing activity in Oracle Service Bus.
    I created a variable with the follow content
    <response>
    <operationResponse name="OPERATION1" result=""/>
    <operationResponse name="OPERATION2" result=""/>
    <operationResponse name="OPERATION3" result=""/>
    <operationResponse name="OPERATION4" result=""/>
    </response>
    For each operationResponse I call a businessProxy that invokes an external webservice. If this call is made with success, I replace `result=""` with `result="1"`.
    I have created a replace activity like this:
    <con3:replace contents-only="true" varName="responseElement"> <!-- var responseElement = <response>.*</response> -->
    <con2:id>_ActionId-3886365367816551561--27a55993.13f0a38ab8f.-7c95</con2:id>
    <con3:location>
    <con2:xpathText>./operationResponse/@result</con2:xpathText>
    </con3:location>
    <con3:expr>
    <con2:xqueryText>"1"</con2:xqueryText>
    </con3:expr>
    </con3:replace>
    After running this program, all the attributes "results" are replaced by "1", if the businessService is called successfully.
    The problems is that I need to replace the attribute "result" only for the element operationResponse that have the attribute "name" equal to the operationResponse that invokes the businessService.
    I have created a variable called operationName that contains the current response/operationResponse. I used ./operationResponse[@name=$operationName]/@result.
    The OSB XPATH expression editor is throwing the follow error:
    Variable "$operationName" used but not declared for expression
    Can anyone help with this?

    Hi, XPath and XQuery are conceptually different. XPath expression can not have variables while an XQuery expression can have a variable inside the XPath when the expression is bound to a variable.
    To work around the issue, instead of using the condition in XPath expression inside replace you should write the XQuery expression of REplace in such a way that it results in what you need.
    For ex. if I take the example above:
    say the content of $body is as below:
    <soap-env:Body>
    <aaa>
    <bbb>
    <ccc>A</ccc>
    <key>1</key>
    </bbb>
    <bbb>
    <ccc>B</ccc>
    <key>2</key>
    </bbb>
    </aaa>
    </soap-env:Body>
    and you wanted to replace values of ccc to X for any bbb elements which have key=1(and you have saved a variable called keyCheck with value '1' earlier in the flow), then you could do the following:
    Replace contents of  . in body with
    <aaa>
    for $bbb in $body/aaa/bbb
    if ($bbb/key/text() = $keyCheck)
    then
    <bbb>
    <ccc>X</ccc>
    <key>{$bbb/key/text()}</key>
    </bbb>
    else
    $bbb
    </aaa>

Maybe you are looking for

  • Trading Partner ID

    Good Morning All, Please help me with this. What is Trading Partner ID(TP_HEADER_ID) in AP ? Where its been stored and for what it is unique for? Thanks.

  • Item chooser

    Is there a method for moving items between two lists? I've copied an image from a popular program to help you instantly realize what I'm asking for ( Wizard Chooser). I'd like to have an AJAX page that gave the user all kinds of options for moving it

  • Creat Job for LSMW (periodical data transfer)- idoc BLAORD

    Hi, We are trying to create job for LSMW (thru frame program for periodic data transfer) for idoc BLAORD (Purchasing contract) When I am running the job that I created, the job is cancelled and the error is: "Upload from front-end is not possible in

  • "Data Connectivity Tutorial: Connecting to Object Collections" Problem

    Post Author: Brian Wildrick CA Forum: Data Connectivity and SQL Using VS2005, followed the directions to the letter.  On page 363, "Connecting a Report to the Stock Object" > "To connect a Crystal report to the Stock object" > 6. Expand the Stock cla

  • I have an empty box on my bookmarks toolbar I can't get rid of.

    Starting today, I have an empty box on my bookmarks toolbar that I can't get to go away. It comes after the >> icon where I can see more bookmarks, but it is linked to the bookmarks toolbar as it goes away when I uncheck this bar. I have tried custom