Getting Invalid XPath expression

Hi,
I am parsing a XML document and reading a node with <xtags:valueOf .. select="product_name"/>. The value of product_name is :
<product_name>SJE6 2004Q1, 1 RTU ESD, All platforms, 1 Year</product_name> , but I am getting the following exception :
org.dom4j.InvalidXPathException: Invalid XPath expression: SJE6 2004Q1, 1 RTU ESD, All platforms, 1 Year Unexpected '2004'
at org.dom4j.xpath.DefaultXPath.parse(DefaultXPath.java:316)
at org.dom4j.xpath.DefaultXPath.<init>(DefaultXPath.java:63)
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:182)
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:198)
at org.apache.taglibs.xtags.xpath.AbstractTag.createXPath(AbstractTag.java:195)
at org.apache.taglibs.xtags.xpath.VariableTag.setSelect(VariableTag.java:143)
I tried with <xtags:copyOf select=.../node() and text()/> but still getting the same exception. Not sure why its failing on 2004? Help!
Thanks,
-Ashish

The problem was not in the <xtags:valueOf> but in the following expression :
<xtags:variable id="lName" select="<%= product_name %>"/>
where I wasassigning the value of <product_name> to a String (java) variable defined. But this will be another question : why is <xtags:variable> failing?

Similar Messages

  • [Error ORABPEL-10039]: invalid xpath expression  - array processing

    hi,
    I am trying to process multiple xml elements
    <assign name="setinsideattributes">
    <copy>
    <from expression="ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')"/>
    <to variable="ssn"/>
    </copy>
    </assign>
    where iterator is a index variable .
    I am getting into this error .
    Error(48):
    [Error ORABPEL-10039]: invalid xpath expression
    [Description]: in line 48 of "D:\OraBPELPM_1\integration\jdev\jdev\mywork\may10-workspace\multixm-catch\multixm-catch.bpel", xpath expression "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')" specified in <from> is not valid, because XPath query syntax error.
    Syntax error while parsing xpath expression "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')", at position "77" the exception is Expected: ).
    Please verify the xpath query "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')" which is defined in BPEL process.
    [Potential fix]: Please make sure the expression is valid.
    any information on how to fix this .
    thanks in advance

    check out this note here
    http://clemensblog.blogspot.com/2006/03/bpel-looping-over-arrays-collections.html
    hth clemens

  • ORA-31013: Invalid XPATH expression -  Oracle9i

    Hello, I have to write a secure website call and below is the code snippet. I am getting following error
    ORA-31013: Invalid XPATH expression
    ORA-06512: at "SYS.XMLTYPE", line 0
    ORA-06512: at line 104
    This is on Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    Code snippet
    soap_request :=
    '<?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <NewOrder xmlns="urn:ws.xtech.net/xtechGateway">
    <newOrderRequest xsi:type="ns1:NewOrderRequestElement" xmlns:ns1="urn:ws.xtech.net/xtechGateway" xmlns="">
    <ns1:xConnectionUsername>'
    || 'XXXXXXXX'
    || '</ns1:xConnectionUsername>';
    UTL_HTTP.SET_WALLET ( 'file:/devdb/9.2.0/appsutil/wallet', 'password' );
    http_req :=
    UTL_HTTP.begin_request
    ('https://wsvar.xtech.net/xtechGateway',
    'POST',
    'HTTP/1.1'
    UTL_HTTP.set_header (http_req, 'Content-Type', 'text/xml');
    UTL_HTTP.set_header (http_req, 'Content-Length', LENGTH (soap_request));
    utl_http.set_header(http_req, 'SOAPAction', '');
    UTL_HTTP.write_text (http_req, soap_request);
    http_resp := UTL_HTTP.get_response (http_req);
    UTL_HTTP.read_text (http_resp, soap_respond);
    UTL_HTTP.end_response (http_resp);
    *resp := XMLTYPE.createxml (soap_respond);
    resp :=
    resp.EXTRACT
    ('/soap:Envelope/soap:Body/child::node()',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"'
    v_resp :=
    resp.EXTRACT ('NewOrderResponse/return/text ()', '"approvalStatus"').getstringval
    Not sure where Am I doing wrong. Please help
    Thanks,
    R

    Okay, I have removed the "ApprovalStatus" and replaced with the xmlns. Also, based on the description of child:node(), I think, then it is required.
    Now I am getting following error
    ORA-30625: method dispatch on NULL SELF argument is disallowed
    Below is the complete code and underneath code I am providing response XML structure
    I can't thank you enough for tracking this post for so long. Thank you so much, I really appreciate your diligence.
    Code_
    DECLARE
    soap_request CLOB;
    soap_respond CLOB;
    v_resp VARCHAR2 (100);
    v_order VARCHAR2 (100);
    v_line_number VARCHAR2 (100);
    http_req UTL_HTTP.req;
    http_resp UTL_HTTP.resp;
    resp XMLTYPE;
    BEGIN
    soap_request :=
    '<?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <NewOrder xmlns="urn:ws.xtech.net/xtechGateway">
    <newOrderRequest xsi:type="ns1:NewOrderRequestElement" xmlns:ns1="urn:ws.xtech.net/xtechGateway" xmlns="">
    <ns1:XConnectionUsername>'
    || 'xxxxxxx'
    || '</ns1:xalConnectionUsername>'
    || '<ns1:xalConnectionPassword>'
    || 'xxxxxxx'
    || '</ns1:xalConnectionPassword>'
    || '<ns1:industryType>'
    || 'EC'
    || '</ns1:industryType>'
    || '<ns1:transType>'
    || 'AC'
    || '</ns1:transType>'
    || '<ns1:bin>'
    || '000002'
    || '</ns1:bin>'
    || '<ns1:merchantID>'
    || 700000208789
    || '</ns1:merchantID>'
    || '<ns1:terminalID>'
    || 001
    || '</ns1:terminalID>'
    || '<ns1:ccAccountNum>'
    || '4x1xxxx11x11x1xx1'
    || '</ns1:ccAccountNum>'
    || '<ns1:ccExp>'
    || '122012'
    || '</ns1:ccExp>'
    || '<ns1:ccCardVerifyPresenceInd>'
    || 2
    || '</ns1:ccCardVerifyPresenceInd>'
    || '<ns1:avsZip>'
    || 'T2H 2K6'
    || '</ns1:avsZip>'
    || '<ns1:avsAddress1>'
    || '112-7015 MACLEOD TRAIL SW'
    || '</ns1:avsAddress1>'
    || '<ns1:avsAddress2>'
    || ''
    || '</ns1:avsAddress2>'
    || '<ns1:avsCity>'
    || 'CALGARY'
    || '</ns1:avsCity>'
    || '<ns1:avsState>'
    || ''
    || '</ns1:avsState>'
    || '<ns1:avsName>'
    || 'Testing'
    || '</ns1:avsName>'
    || '<ns1:avsCountryCode>'
    || 'CA'
    || '</ns1:avsCountryCode>'
    || '<ns1:orderID>'
    || '31103142361483'
    || '</ns1:orderID>'
    || '<ns1:amount>'
    || 100
    || '</ns1:amount>'
    || '<ns1:comments>'
    || 'This is a AE AVSCVV AuthCap'
    || '</ns1:comments>'
    || '</newOrderRequest>'
    || '</NewOrder>'
    || '</soapenv:Body>'
    || '</soapenv:Envelope>';
    UTL_HTTP.set_wallet ('file:/a01/oracle/devdb/9.2.0/appsutil/wallet',
    'p4ssword'
    http_req :=
    UTL_HTTP.begin_request
    ('https://wsvar.xtech.net/xtechGateway',
    'POST',
    'HTTP/1.1'
    UTL_HTTP.set_header (http_req, 'Content-Type', 'text/xml');
    UTL_HTTP.set_header (http_req, 'Content-Length', LENGTH (soap_request));
    UTL_HTTP.set_header (http_req, 'SOAPAction', 'xmlns="urn:ws.xtech.net/xtechGateway"');
    UTL_HTTP.write_text (http_req, soap_request);
    http_resp := UTL_HTTP.get_response (http_req);
    UTL_HTTP.read_text (http_resp, soap_respond);
    UTL_HTTP.end_response (http_resp);
    resp := XMLTYPE.createxml (soap_respond);
    resp :=
    resp.EXTRACT ('/soap:Envelope/soap:Body/child::node()',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"'
    v_resp :=trunc(resp.EXTRACT ('/NewOrderResponse/return/text ()','xmlns:ns1="urn:ws.xtech.net/xtechGateway"').getstringval());
    DBMS_OUTPUT.put_line ('Response: ' || v_resp);
    END;
    XML Response Structure_
    <xml>
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="urn:ws.xtech.net/xtechGateway">
    <SOAP-ENV:Body id="_0">
    <NewOrderResponse xmlns="urn:ws.xtech.net/xtechGateway" xsi:type="ns:NewOrderResponse">
    <return xsi:type="ns:NewOrderResponseElement">
    <industryType xsi:type="xsd:string">EC</industryType>
    <transType xsi:type="xsd:string">AC</transType>
    <bin xsi:type="xsd:string">000001</bin>
    <merchantID xsi:type="xsd:string">041756</merchantID>
    <terminalID xsi:type="xsd:string">001</terminalID>
    <cardBrand xsi:type="xsd:string">DI</cardBrand>
    <orderID xsi:type="xsd:string">31103142361483</orderID>
    <txRefNum xsi:type="xsd:string">41C09DBC1D0710F4635C1156509F3CCF491F545E</txRefNum>
    <txRefIdx xsi:type="xsd:string">1</txRefIdx>
    <respDateTime xsi:type="xsd:string">20041215152533</respDateTime>
    <procStatus xsi:type="xsd:string">0</procStatus>
    <approvalStatus xsi:type="xsd:string">1</approvalStatus>
    <respCode xsi:type="xsd:string">00</respCode>
    <avsRespCode xsi:type="xsd:string">B </avsRespCode>
    <cvvRespCode xsi:type="xsd:string">P</cvvRespCode>
    <authorizationCode xsi:type="xsd:string">tst993</authorizationCode>
    <mcRecurringAdvCode xsi:type="xsd:string"/>
    <visaVbVRespCode xsi:type="xsd:string"/>
    <procStatusMessage xsi:type="xsd:string">Approved</procStatusMessage>
    <hostRespCode xsi:type="xsd:string">100</hostRespCode>
    <hostAVSRespCode xsi:type="xsd:string">I3</hostAVSRespCode>
    <hostCVVRespCode xsi:type="xsd:string">P</hostCVVRespCode>
    <retryAttempCount xsi:type="xsd:string"/>
    <lastRetryDate xsi:type="xsd:string"/>
    <customerRefNum xsi:type="xsd:string"/>
    <customerName xsi:type="xsd:string"/>
    <profileProcStatus xsi:type="xsd:string"/>
    <profileProcStatusMsg xsi:type="xsd:string"/>
    </return>
    </NewOrderResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope> </xml>
    Edited by: user2913945 on Mar 8, 2010 10:42 AM

  • ORA-31013: Invalid XPATH expression

    Hi,
    I am getting this error when i am trying to execute a sp which will do xml parsing.
    What all i did is i have Oracle database with 9.2.0.1.0 version. The i hav ugraded the database to 9.2.0.6.0 using the Oracle patch. After upgrading the Oracle db to 9.2.0.6.0 i got the below error:
    ORA-00600: internal error code,
    Then i ran the catpatch.sql to get rid off this error. After running the catpatch.sql the above error gone but i got another error
    ORA-31013: Invalid XPATH expression.
    What does this mean. The sp is working fine before upgrading the Oracle db to 9.2.0.6.0. Is the patch upgrade corrupted any of the XML libraries or the 9.2.0.6.0 doesn't support the xml parsing or do i need to apply any patch for this.
    Please suggest me ASAP since this error has been raised at cusotmer and i am in very much need of this.
    The statement which i am using for parsing the xml file is
    x.xml_data.extract('/x:recording/@x:ref').getStringVal() from xml_process;
    where xml_process is a table of xml_type.
    Thanks
    Rao

    Hello, There,
    Recently we have moved some project from 9ir2 to 10gr2, some code which worked fine before but now got error.
    any patch needed for this ? did anybody get the same issue before?
    here're my environment:
    1)9ir2:
    SQL> select * from v$version;
    BANNER
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    PL/SQL Release 9.2.0.8.0 - Production
    CORE 9.2.0.8.0 Production
    TNS for Solaris: Version 9.2.0.8.0 - Production
    NLSRTL Version 9.2.0.8.0 - Production
    2) 10gr2:
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    3) below are my test code which works fine in 9ir2 but got problem of "ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in..."
    ---===================TEST CODE START========================================
    var xml_data clob;
    begin
    :xml_data:='<?xml version="1.0" encoding="UTF-8"?>
    <MCCI_MT000100.Message xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!-- NOTE
    The OID values and other values used in this message are not intended to be meaningful
    -->
    <id root="2.16.840.1.113883.4.3.57.100000126" extension="58212040112"/>
    <creationTime value="20030620"/>
    <versionId>v3r1b3</versionId>
    <!--
    this should be the interaction ID for "Invoice Adjudication Request"
    -->
    <interactionId root="2.16.840.1.113883.4.3.57.100000126" extension="FICR_IN600201"/>
    <processingCode code="P"/>
    <processingModeCode code="T"/>
    <!-- always send an acknowledgement -->
    <acceptAckCode code="AL"/>
    <!-- always send an acknowledgement -->
    <applicationAckCode code="AL"/>
    <communicationFunctionRcv>
    <typeCode code="RCV"/>
    <deviceRcv classCode="DEV" determinerCode="INSTANCE">
    <id root="2.16.840.1.113883.4.3.57.100000126" extension="111111111"/>
    <name use="L">BCE</name>
    </deviceRcv>
    </communicationFunctionRcv>
    <communicationFunctionSnd>
    <typeCode code="SND"/>
    <deviceSnd>
    <!-- note the defaulted classCode and determinerCode ere -->
    <id root="2.16.840.1.113883.4.3.57.100000126" extension="100000126"/>
    <name use="L">SampleProvider</name>
    </deviceSnd>
    </communicationFunctionSnd>
    <controlActProcess>
    <!-- 111111112 is Trading Network ID -->
    <id root="2.16.840.1.113883.4.3.57.100000126" extension="111111112"/>
    <effectiveTime value="20030620"/>
    <subject>
    <!-- element for invoiceadjudicationResults -->
    <invoiceAdjudicationRequest>
    <id root="2.16.840.1.113883.4.3.57.100000126" extension="58712040112"/>
    <amt currency="CAD" value="200"/>
    <reasonOf>
    <!-- group invoice #: only one -->
    <justifiedInvoiceElementOrder>
    <id extension="162" root="2.16.840.1.113883.4.3.57.100000126"/>
    <code code="CP"/>
    <!-- CP: Clinical Product; CS: Clinical Service -->
    <netAmt currency="CAD" value="200"/>
    <component>
    <InvoiceElementDetail>
    <id extension="162.1" root="2.16.840.1.113883.4.3.57.100000126"/>
    <code code="240"/> <!-- service code -->
    <unitQuantity>
    <numerator value="4" unit="h"/>
    <denominator value="1" unit="each"/>
    </unitQuantity>
    <unitPriceAmt>
    <numerator value="25" currency="CAD"/>
    <denominator value="1" unit="1"/>
    </unitPriceAmt>
    <netAmt currency="CAD" value="100"/>
    <reasonOf>
    <justifiedAct>
    <billableClinicalService>
    <code code="240"/>
    <!-- service code again, duplicate -->
    <!-- date of service -->
    <effectiveTime value="20030620"/>
    <performer>
    <healthCareProvider id ="100000126"/>
    <!-- idb provider id as responsible provider -->
    </performer>
    <location>
    <participant>
    <COCT_MT240000.ServiceDeliveryLocation>
    <code code="12"/>
    <!-- facilityTypecode -->
    </COCT_MT240000.ServiceDeliveryLocation>
    </participant>
    </location>
    </billableClinicalService>
    </justifiedAct>
    </reasonOf>
    </InvoiceElementDetail>
    </component>
    <component>
    <InvoiceElementDetail>
    <id extension="162.2" root="2.16.840.1.113883.4.3.57.100000126"/>
    <code code="240"/> <!-- service code -->
    <unitQuantity>
    <numerator value="4" unit="h"/>
    <denominator value="1" unit="each"/>
    </unitQuantity>
    <unitPriceAmt>
    <numerator value="25" currency="CAD"/>
    <denominator value="1" unit="1"/>
    </unitPriceAmt>
    <netAmt currency="CAD" value="100"/>
    <reasonOf>
    <justifiedAct>
    <billableClinicalService>
    <code code="240"/>
    <!-- service code again, duplicate -->
    <!-- date of service -->
    <effectiveTime value="20030620"/>
    <performer>
    <healthCareProvider id ="100000126"/>
    <!-- idb provider id as responsible provider -->
    </performer>
    <location>
    <participant>
    <COCT_MT240000.ServiceDeliveryLocation>
    <code code="12"/>
    <!-- facilityTypecode -->
    </COCT_MT240000.ServiceDeliveryLocation>
    </participant>
    </location>
    </billableClinicalService>
    </justifiedAct>
    </reasonOf>
    </InvoiceElementDetail>
    </component>
    <coverage>
    <coveringCoverageEvent>
    <id extension="1" root="2.16.840.1.113883.4.3.57.100000126"/>
    <code code="event"/>
    <beneficiary>
    <coveredParty>
    <!-- claim # -->
    <id extension="00012345" root="2.16.840.1.113883.4.3.57.100000126"/>
    <code code ="spouse"/>
    <coveredParty>
    <CoveredPartyAsPatientPerson>
    <name>
    <family>Jackson</family>
    <given>Robyn</given>
    </name>
    <administrativeGenderCode code="F"/>
    <birthTime value="19490601" />
    <deceasedTime value="20030123" />
    <multipleBirthInd value="false" />
    <multipleBirthOrderNumber value="1" />
    <addr>
    <postalCode>L1W3V4</postalCode>
    </addr>
    </CoveredPartyAsPatientPerson>
    </coveredParty>
    </coveredParty>
    </beneficiary>
    <author>
    <underwriter>
    <!-- Insurer ID -->
    <id extension="10001" root="2.16.840.1.113883.4.3.57.100000126"/>
    </underwriter>
    </author>
    </coveringCoverageEvent>
    </coverage>
    </justifiedInvoiceElementOrder>
    </reasonOf>
    </invoiceAdjudicationRequest>
    </subject>
    </controlActProcess>
    <attentionLine type="AttentionLine" assoc="inboundRelationship">
    <keyWordText code="BENEFITGR">Physio</keyWordText>
    </attentionLine>
    <attentionLine type="AttentionLine" assoc="inboundRelationship">
    <keyWordText code="TPID">111111112</keyWordText>
    </attentionLine>
    </MCCI_MT000100.Message>
    end;
    select extract(xmltype(:xml_data),'/MCCI_MT000100.Message/communicationFunctionSnd/deviceSnd/id@extension','xmlns="urn:hl7-org:v3"').getStringVal() from dual;
    --=====================TEST CODE END=======================================
    in 9ir2 the result is:
    SQL> select extract(xmltype(:xml_data),'/MCCI_MT000100.Message/communicationFunctionSnd/deviceSnd/id@extension','xmlns="urn:hl7-org:v3"').getStringVal(
    ) from dual ;
    EXTRACT(XMLTYPE(:XML_DATA),'/MCCI_MT000100.MESSAGE/COMMUNICATIONFUNCTIONSND/DEVI
    100000126
    but in 10gr2, the error show as below:
    SQL>
    SQL> select extract(xmltype(:xml_data),'/MCCI_MT000100.Message/communicationFunctionSnd/deviceSnd/id@extension','xmlns="urn:hl7-org:v3"').getStringVal(
    ) from dual ;
    select extract(xmltype(:xml_data),'/MCCI_MT000100.Message/communicationFunctionSnd/deviceSnd/id@extension','xmlns="urn:hl7-org:v3"').getStringVal() fro
    m dual
    ERROR at line 1:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in:
    '/MCCI_MT000100.Message/communicationFunctionSnd/deviceSnd/id@extension'
    thanks in advance!
    richard

  • JAVA XML DOM4J: Invalid XPath expression

    Hi everybody,
    I am not sure why I am getting an exception for this expression:
    Number count= document.numberValueOf("/NODE/SUBNODE/count(*)");
    Exception is:
    org.dom4j.InvalidXPathException: Invalid XPath expression:
    Thanks regards
    Mario

    Hello
    what about
    "count (/NODE/SUBNODE)" as xpath expression
    regards franz
    reward points if useful

  • JAVAMapping dom4j: Invalid XPath expression:

    Hi ervybody,
    I am not sure why I am getting an exception for this expression:
    Number count= document.numberValueOf("/NODE/SUBNODE/count(*)");
    Exception is:
    org.dom4j.InvalidXPathException: Invalid XPath expression:
    Thanks regards
    Mario

    The problem is
    You don't have the correct version of jaxen or one of its dependencies on the classpath.
    Please update your DOM Parser beta12.
    Please visit the link.
    http://jira.codehaus.org/browse/JAXEN-175

  • ORABPEL-09503 Invalid xpath expression in a CASE expression

    Hi I have the following case statement in my BPEL process -
    <switch name="checkAuthenticateResult">
    <case condition="upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_RETURN_STATUS')))='S' AND upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_TKT_VALID')bpws:getVariableData('isAuthenticCaller'))) = 'T'">
    <bpelx:annotation>
    <bpelx:pattern>authenticatePass
    </bpelx:pattern>
    </bpelx:annotation>
    <assign name="assignTktOutput">
    <copy>
    <from expression="boolean(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_TKT_VALID')='T')"/>
    <to variable="outputVariable" part="payload" query="/client:WshSendTxnToOtmServiceProcessResponse/client:result/ns2:authenticated"/>
    </copy>
    </assign>
    </case>
    <otherwise>
    <throw name="throwAuthenticateFail" faultVariable="g_faultVariable" faultName="faultError"/>
    </otherwise>
    </switch>
    When I run my process in 10.1.2, it works fine, but when I run it in 10.1.3.1, it errors out with the following error -
    <Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>ORABPEL-09503 Invalid xpath expression. Error while parsing xpath expression "upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_RETURN_STATUS')))='S' AND upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_TKT_VALID')bpws:getVariableData('isAuthenticCaller'))) = 'T'", the reason is Unknown expression at EOF: upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_RETURN_STATUS')))='S' AND upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_TKT_VALID')bpws:getVariableData('isAuthenticCaller'))) = 'T'..
    Please verify the xpath query "upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_RETURN_STATUS')))='S' AND upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_TKT_VALID')bpws:getVariableData('isAuthenticCaller'))) = 'T'" which is defined in BPEL process.
    </faultstring><faultactor></faultactor></env:Fault></env:Body></env:Envelope>
    Do you think there was a bug in the expression that has surfaced due to some additional validations in 10.1.3.1 or am I missing something here?
    Thanks a lot for your help.
    Thanks.
    RV

    AND upper-case(string(bpws:getVariableData('g_InvokeAuthenticateTicketOutput','OutputParameters','/ns13:OutputParameters/X_TKT_VALID')bpws:getVariableData('isAuthenticCaller'))) = 'T'"
    what is this bold part about? this looks wrong to me..
    /clemens

  • Concat Operation failing.[Error ORABPEL-10039]: invalid xpath expression

    Hi ,
    I am trying to concat two values which are as mentioned below
    concat(bpws:getVariableData('paramsVar','/ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value'),bpws:getVariableData('AccumilateEmail','/ns1:AccumilatePLAContracts/ns1:AccumilatePLAType[$PLACount]/ns1:ContractInfoType[$ContractInfoTypeCount]/ns1:ContractNumber'))
    to /ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value (which is same as first parameter of concat operation)
    the error is [Error ORABPEL-10039]: invalid xpath expression
    [Description]: in line 681 of "C:\Users\varsha.tm\Desktop\InitiateMaintainContractRolesEmail\bpel\InitiateMaintainContractRolesEmail.bpel", xpath expression "concat(bpws:getVariableData('paramsVar','/ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value'),bpws:getVariableData('Ac
    cumilateEmail','/ns1:AccumilatePLAContracts/ns1:AccumilatePLAType[$PLACount]/ns1:ContractInfoType[$ContractInfoTypeCount]/ns1:ContractNumber'))" specified in <from> is not valid, because XPath query syntax error.
    Syntax error while parsing xpath expression "concat(bpws:getVariableData('paramsVar','/ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value'),bpws:getVariableData('AccumilateEmail','/ns1:AccumilatePLAContracts/ns1:AccumilatePLAType[$PLACount]/ns1:ContractInfoType[$ContractInfoTyp
    eCount]/ns1:ContractNumber'))", at position "76" the exception is Expected: ).
    Please verify the xpath query "concat(bpws:getVariableData('paramsVar','/ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value'),bpws:getVariableData('AccumilateEmail','/ns1:AccumilatePLAContracts/ns1:AccumilatePLAType[$PLACount]/ns1:ContractInfoType[$ContractInfoTypeCount]/ns1:Co.....
    I also tried converting both the variables of concat to string and then giving to concat operation. please let me know what could be the possible way to do this

    Hi,
    try storing the values of the below into a separate variables var1,var2 and then use concat(bpws:getVariableData('var1'),bpws:getVariableData(var2))....also try using the predicate[] without
    bpws:getVariableData for the below variables...for this in the assign activity create copy operation window....u see the xpath text box and u can mention the predicate values there...some
    thing like */ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value* , *ns1:AccumilatePLAContracts/ns1:AccumilatePLAType[$PLACount]/ns1:ContractInfoType
    [$ContractInfoTypeCount]/ns1:ContractNumber* instead of the below values
    bpws:getVariableData('paramsVar','/ns7:parameters/ns7:item[ns7:name='ContractNumber']/ns7:value')
    bpws:getVariableData('AccumilateEmail','/ns1:AccumilatePLAContracts/ns1:AccumilatePLAType[$PLACount]/ns1:ContractInfoType[$ContractInfoTypeCount]/ns1:ContractNumber')

  • Invalid Xpath Expression

    Hi ,
    I have an XML content as below and i am sending that as a string input to other interface . Here i have hard coded Teller ID and account ID , but i want to send the input from payload like this : ><Teller><ID>bpws:getVariableData('TellerId')</ID></Teller> .
    But it is giving error as "Invalid xpath expression" . How can the below xml be sent with the teller id and account no. accepting inputs from payload?
    ora:getContentAsString('<?xml version="1.0" encoding="utf-8"?><Summit xmlns="http://summit.fiserv.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://summit.fiserv.com /cfg/CommandSchema/sisCommands.xsd"><Spectrum><CommandRq><RequestHeader><Teller><ID>T1P1</ID></Teller><Override>0</Override></RequestHeader><RQMS_RQSTRq><Account>123123</Account><Options>M</Options></RQMS_RQSTRq></CommandRq></Spectrum></Summit>')

    The other interface accepts only strings . If i do it using xml fragment , it is embedding white spaces and is not acceptable by the other interface.

  • 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

  • XPATH expression to get Array node

    Hi
    I have a problem with an XPATH expression in BPEL. I want to get to a particular node in the following result set ..
    <return xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="http://com.quion.taken.services/ITakenService.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Array" ns2:arrayType="ns3:com_quion_dto_taken_BouwnotaVoorraadDTO[2]">
    <item xsi:type="ns3:com_quion_dto_taken_BouwnotaVoorraadDTO">
    <begunstigde xsi:type="xsd:string">Sjoerd</begunstigde>
    <datum xsi:type="xsd:dateTime">2005-10-31T23:00:00.000Z</datum>
    <bedrag xsi:type="xsd:string">1000.0</bedrag>
    <geldLeningId xsi:type="xsd:string">4.0</geldLeningId>
    <rekeningnummer xsi:type="xsd:string">1234</rekeningnummer>
    <notaId xsi:type="xsd:string">1.0</notaId>
    </item>
    <item xsi:type="ns3:com_quion_dto_taken_BouwnotaVoorraadDTO">
    <begunstigde xsi:type="xsd:string">Laszlo</begunstigde>
    <datum xsi:type="xsd:dateTime">2005-10-31T23:00:00.000Z</datum>
    <bedrag xsi:type="xsd:string">1.0</bedrag>
    <geldLeningId xsi:type="xsd:string">4.0</geldLeningId>
    <rekeningnummer xsi:type="xsd:string">5678</rekeningnummer>
    <notaId xsi:type="xsd:string">2.0</notaId>
    </item>
    </return>
    The first thing is that my variable in BPEL does not show the ïtem"level", it shows for example 'return/notaId'.
    However I can get to the second node by keying in
    EXPRESSION 1:
    bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[1]/notaId')
    No I want to dynamically determine the particular node instance. I do this as follows [copied from the Array sample]:
    EXPRESSION 2:
    bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')
    BPEL throws the following error
    assignNotaId (faulted)
    [2005/11/09 09:49:36] Updated variable "invokeTaskManager_initiateTask_InputVariable" More...
    <invokeTaskManager_initiateTask_InputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    <task xmlns="http://services.oracle.com/bpel/task">
    <taskId />
    <title />
    <creationDate />
    <creator />
    <modifyDate />
    <modifier />
    <assignee>jstein</assignee>
    <status />
    <expired />
    <expirationDate />
    <duration />
    <priority />
    <template />
    <customKey />
    <conclusion />
    <attachment />
    </task>
    </part>
    </invokeTaskManager_initiateTask_InputVariable>
    [2005/11/09 09:49:36] Error in evaluate <from> expression at line "172". The result is empty for the XPath expression : "bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')".
    [2005/11/09 09:49:36] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown. less
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <part name="summary">
    <summary>empty variable/expression result. xpath variable/expression expression "bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')" is empty at line 172, when attempting reading/copying it. Please make sure the variable/expression result "bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')" is not empty.</summary>
    What is wrong with my expression 2?
    Thanks
    Jan Willem

    This Example works fine for arrays that are part of a WSDL message.
    But in 10.1.3.1 this does not work with a array that is part of an XSD declaration
    for Example XSD snippet
    <xsd:element name="itemList">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:Item" />
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
    using the following in assign statement
    <copy>
    <from expression="concat('/ns9:itemList/ns9:Item[',string(bpws:getVariableData('index')),']')"/>
    <to variable="idxXpath"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('OutputItemList',bpws:getVariableData('idxXpath'))"/>
    <to variable="idx_item"/>
    </copy>
    gives a compiler error that is
    Error(176):
    [Error ORABPEL-10085]: invalid argument
    [Description]: in line 176 of "D:\OnlineShopping_1\bpel\OnlineShopping.bpel", the second argument "bpws:getVariableData("idxXpath")" for getVariableData is not a literal expression.
    [Potential fix]: Please correct the second argument, you might need to escape using single quote or " to make it literal.
    Can anyone site the reason for the same or a possible solution?
    Message was edited by:
    user607972

  • OAGIS Get XPath Expression

    We are using the OAGis schema and a client is sending us data in an expression instead of in the actual schema location using the <Get> portion of the schema.
    <Get uniqueIndicator="true">
          <Expression expressionLanguage="XPath">//Credit/FirstName[.="John"]</Expression>
          <Expression expressionLanguage="XPath">//Credit/LastName[.="Smith"]</Expression>
    </Get>What is the best way in BPEL to evaluate this xpath expression to set the FirstName to John and LastName to Smith? We are currently using a transform to parse each expression using XSLT into our database schema. It's not very elegant because it uses an if statement to check the path then has to parse out between the quotes then passes the value to the new var/schema.
    It seems like there should be a way to evaluate the XPath and set the path to the noted string.
    Thanks,

    This Example works fine for arrays that are part of a WSDL message.
    But in 10.1.3.1 this does not work with a array that is part of an XSD declaration
    for Example XSD snippet
    <xsd:element name="itemList">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:Item" />
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
    using the following in assign statement
    <copy>
    <from expression="concat('/ns9:itemList/ns9:Item[',string(bpws:getVariableData('index')),']')"/>
    <to variable="idxXpath"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('OutputItemList',bpws:getVariableData('idxXpath'))"/>
    <to variable="idx_item"/>
    </copy>
    gives a compiler error that is
    Error(176):
    [Error ORABPEL-10085]: invalid argument
    [Description]: in line 176 of "D:\OnlineShopping_1\bpel\OnlineShopping.bpel", the second argument "bpws:getVariableData("idxXpath")" for getVariableData is not a literal expression.
    [Potential fix]: Please correct the second argument, you might need to escape using single quote or " to make it literal.
    Can anyone site the reason for the same or a possible solution?
    Message was edited by:
    user607972

  • Xpath expression to get depth child element

    Hi
    I wanted to find the depth element (sub isuer) in the hierarchy of 93699V issuer through xpath expression .
    <?xml version="1.0" encoding="UTF-8"?>
    <issuer id="93699V">/>
    <subissuer id="06U99A">
    <subissuer id="52729N">
    <subissuer id="37932J">
    <subissuer id="322995"/>
    <subissuer id="35906P">
    <subissuer id="001575"/> //child of issuer 93699V. since no further child
    <subscriber id="771758"/> //child of issuer 93699V.since no further child
    </subissuer>//end of 37932J
    </subissuer>//end of 52729N
    </subissuer> //end of 06U99A
    </subissuer>
    <subissuer id="06099K">
    <subissuer id="06N99R"/>//child of issuer 93699V.since no further child
    </subissuer>
    <subissuer id="715680"/> ////child of issuer 93699V.since no further child
    </issuer>
    what is the xpath expression to find the depth child of 93699V.i .e o/p is as follows.Since now we have four depth element.
    001575
    771758
    06N99R
    715680
    Please let me know the xpath expression to get depth sub issuer

    Not sure if this helps, there is a section about creating loops in the Workbench ES2 Help at http://help.adobe.com/en_US/livecycle/9.0/workbenchHelp/000187.html#1032146. Another way would be to use a custom component as you suggest but you can do it in Workbench as well.
    Hope that helps..
    ...Gil

  • Using the variable ? operator in an XPath Expression

    I'm trying to using the variable operator (?) in an Oracle prepared statement used in a query where clause. Here is the query:
    select xt.APPLICATION_NAME, xt.VERSION, xt.EVENT_TYPE, xt.SENDING_SITE, xt.RECEIVING_SITE, xt.EVENT_ID
          from AUDITED_EVENT_XML_MIN e,
             XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                    '/xae:auditable-event'
                    PASSING e.xml_event_content
                    COLUMNS
                    APPLICATION_NAME VARCHAR2(255) PATH 'xae:application-name',
                    VERSION          VARCHAR2(255) PATH 'xae:version',
                    EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                    SENDING_SITE     VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.4/HD.2',
                    RECEIVING_SITE   VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.6/HD.2',
                    EVENT_ID         VARCHAR2(255) PATH 'xae:xml-event-content/*/MSH/MSH.10') xt
                where existsNode(E.XML_EVENT_CONTENT, '/xae:auditable-event[xae:event-type=?]','xmlns:xae="http://gov/va/med/datasharing/audit/endpoint/audit"') = 1This code works when the ? is replaced with "aValue". I need to use the ? so that my Java client can pass a variable value into the query.
    Is this a supportable feature or am I doing something wrong?
    I didn't see any examples in the Oracle XML DB Developers Guide where there was a ? in an XPath expression.
    I also tried "?" with the same issue...
    Here is the version info:
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon Sep 10 18:41:55 2012
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsAny assistance would be greatly appreciated.
    Thanks in advance...

    I incorporated this suggestion and it worked very well. Thanks!
    Now I have converted my solution to use a structured index. As such, I want to write the where clauses in terms of column names rather than XPath expressions.
    I hoped it was as simple as changing the code that generates the XPath expression to generate a SQL expression. After making that change, I'm now getting this error:
    Caused by: java.sql.SQLSyntaxErrorException: ORA-00920: invalid relational operator
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
         at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:686)
         at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:617)
         at oracle.jdbc.driver.T2CPreparedStatement.executeForDescribe(T2CPreparedStatement.java:559)
         at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1077)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3425)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1490)
         at gov.va.med.datasharing.audit.dao.jdbc.runner.MapQueryRunner.run(MapQueryRunner.java:47)
         at gov.va.med.datasharing.audit.web.dao.jdbc.AuditableEventsQueryDAOImpl.getAuditableEventsByDate(AuditableEventsQueryDAOImpl.java:150)It seemed to me that if it worked for the XPath expression that it should also work for the SQL expression.
    The static SQL is:
    SELECT PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
      (SELECT rownum as rn, PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
         (SELECT aet.AUDITABLE_EVENT_XML_PK_ID AS PK_ID, xt.EVENT_TYPE, xt.OUTCOME, xt.SENDING_SITE, xt.RECEIVING_SITE, aet.CREATED_TIME as CREATED_TIME, xt.EVENT_ID, xt.PATIENT_ID
            FROM AUDITABLE_EVENT_XML aet,
              XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                '/xae:auditable-event'
                PASSING aet.xml_event_content
                COLUMNS
                EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                SENDING_SITE     VARCHAR2(255) PATH 'xae:sending-site',
                RECEIVING_SITE   VARCHAR2(255) PATH 'xae:receiving-site',
                EVENT_ID         VARCHAR2(255) PATH 'xae:event-id',
                PATIENT_ID           VARCHAR2(255) PATH 'xae:patient-id',
                OUTCOME                VARCHAR2(255) PATH 'xae:outcome') xt
            WHERE aet.CREATED_TIME BETWEEN ? AND ?
                 AND ?
          ) ORDER BY CREATED_TIME desc
        ) WHERE rn &gt; ? and rn &lt;= ?So I'm thinking that Oracle must perform strong checking in SQL, not allowing the '=' operator to be substituted. If I run this query in Toad, replacing the ? with the SQL, it runs fine...
    Can someone tell me whether or not this is a legal substitution?
    The SQL that runs in Toad is:
    SELECT PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
      (SELECT rownum as rn, PK_ID, EVENT_TYPE, OUTCOME, SENDING_SITE, RECEIVING_SITE, CREATED_TIME, EVENT_ID, PATIENT_ID FROM
         (SELECT aet.AUDITABLE_EVENT_XML_PK_ID AS PK_ID, xt.EVENT_TYPE, xt.OUTCOME, xt.SENDING_SITE, xt.RECEIVING_SITE, aet.CREATED_TIME as CREATED_TIME, xt.EVENT_ID, xt.PATIENT_ID
            FROM AUDITABLE_EVENT_XML aet,
              XMLTable(XMLNAMESPACES('http://gov/va/med/datasharing/audit/endpoint/audit' AS "xae"),
                '/xae:auditable-event'
                PASSING aet.xml_event_content
                COLUMNS
                EVENT_TYPE       VARCHAR2(255) PATH 'xae:event-type',
                SENDING_SITE     VARCHAR2(255) PATH 'xae:sending-site',
                RECEIVING_SITE   VARCHAR2(255) PATH 'xae:receiving-site',
                EVENT_ID         VARCHAR2(255) PATH 'xae:event-id',
                PATIENT_ID         VARCHAR2(255) PATH 'xae:patient-id',
                OUTCOME             VARCHAR2(255) PATH 'xae:outcome') xt
            WHERE aet.CREATED_TIME BETWEEN TO_DATE ('9/19/2011 12:00:01 AM','MM/DD/YYYY HH:MI:SS PM')
                                         AND TO_DATE ('12/20/2012 12:00:00 AM','MM/DD/YYYY HH:MI:SS PM')
                AND (OUTCOME=0 or OUTCOME=1)
          ) ORDER BY CREATED_TIME desc
        ) WHERE rn > 0 and rn <= 5;Any assistance will be appreciated,
    Thanks in advance.

  • Invalid XPath ?

    I have a process that gets a date (format YYYY-MM-DD; forced by Console), which has to be delivered to a Webservice, that requests dates in format 'dd MMM yyyy' (24 aug 2005).
    I've tried the following options (in an Assign):
    <copy>
      <from variable="inputVariable" part="payload" query="ora:formatDate('/client:bpAanvraagProcessRequest/client:DatumBemonstering', 'dd MMM yyyy')"/>
      <to variable="addAanvraag_addaanvraag_InputVariable" part="pDbg"/>
    </copy>And:
    <copy>
      <from variable="inputVariable" part="payload" query="xp20:format-dateTime(/client:bpAanvraagProcessRequest/client:DatumBemonstering,'[dd] [MMM] [YYYY]')"/>
       <to variable="addAanvraag_addaanvraag_InputVariable" part="pDbg"/>
    </copy>Both fail with the following message:
    [Error ORABPEL-10076]: invalid xpath query string 
    [Description]: in line 68 of "L:\workspaces\BPEL\bpAanvraag\bpAanvraag.bpel", According to BPEL4WS spec 1.1, section 14.3,
    the xpath query "ora:formatDate('/client:bpAanvraagProcessRequest/client:DatumBemonstering', 'dd MMM yyyy')" is invalid,
    query should be an absolute location path and it must start from the root element prefixed with "/".. 
    [Potential fix]: Please make sure that your xpath query starts with "/" which is the root..Anyone has any ideas how to fix this?

    Okey, found it:
    The format-string is an XSLT 2.0 picture string, see syntax explained at http://www.w3.org/TR/xslt20/#date-picture-string
    By the way:
    a) w3.org publishes the function xslt:format-date(), and format it by picture. This is not offered by Oracle BPEL it seems (at least not through the Expression builder, ver 10.1.2.0.0 ).
    Oracle-BPEL offers:
    b) ora:formatDate(), and format it by java.text.SimpleDateFormat.
    c) xp20:format-dateTime(), and format it by picture.
    So I took it away by code like:
    <copy>
    <from expression="xp20:current-dateTime()"/>
    <to variable="myDateTime"/>
    </copy>
    <copy>
    <from expression="'P21D'"/>
    <my-xml-comment>The Xpath syntax (like P21D) is for specifying an xdt:dayTimeDuration of 21 days ahead, see http://www.w3.org/TR/xpath-functions/#lexical-dayTimeDuration</my-xml-comment>
    <to variable="myDuration"/>
    </copy>
    <copy>
    <from expression="xp20:add-dayTimeDuration-to-dateTime( bpws:getVariableData('myDateTime'), bpws:getVariableData('myDuration') )"/>
    <to variable="myResultTime"/>
    </copy>
    <copy>
    <from expression="xp20:format-dateTime( bpws:getVariableData('myResultTime'), '[Y0001][M01][D01]' )"/>
    <to variable="myResultTimeNOARK"/>
    </copy>

Maybe you are looking for