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>
Similar Messages
-
Error(64) : invalid xpath in JDeveloper 10.1.3.1 Developer
Hi,
I am migrating the BPEL Project which was desinged for the BPEL(10.1.2) to SOA Suite using the JDeveloper 10.1.3.1 Developer Preview version.
The taken the project which is buildin and deploying correctly in the BPEL Desg&ser (10.1.2).
But the same project is not compiling in the newer preview version.i got invalid xpath exception.
my xpath is like
bpws:getVariableData('inputVariable','payload','/client:commonProjectProcessRequest/client:input/ns1:listOfProducts')
if i change like this xpath, woking fine...
bpws:getVariableData('inputVariable','payload','/client:commonProjectProcessRequest/client:input')
the element defined as string in wsdl.however am expecting in runtime process will recive an xml string as a value input element so the xpath will work fine..
is the any facility turn of xpath validation while building bpel project in the jdev10.1.3.1. preview version.
could you please any one give me solution ?
Thanks
bogiyes, i found an URL and I try to access this via browser, and the following message appears:
Error instantiating web-application
Error compiling :C:\My Documents\Java\Webservice\Service3\public_html: Syntax error in source or compilation failed in: E:\master\Oracle JDeveloper 10.1.3 Early Access\jdev\system\oracle.j2ee.10.1.3.34.12\embedded-oc4j\application-deployments\current-workspace-app\Webservice-Service3-webapp\galih\service\runtime\MyWebService1SoapHttp_Tie.java E:\master\Oracle JDeveloper 10.1.3 Early Access\jdev\system\oracle.j2ee.10.1.3.34.12\embedded-oc4j\application-deployments\current-workspace-app\Webservice-Service3-webapp\galih\service\runtime\GalihServiceService_SerializerRegistry.java:36: error #300: MyWebService1_getMessage_ResponseStruct__LiteralSerializer not found in class galih.service.runtime.GalihServiceService_SerializerRegistry
CombinedSerializer serializer = new galih.service.runtime.MyWebService1_getMessage_ResponseStruct__LiteralSerializer(type, DONT_ENCODE_TYPE);
^
1 error -
[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 advancecheck out this note here
http://clemensblog.blogspot.com/2006/03/bpel-looping-over-arrays-collections.html
hth clemens -
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.
RVAND 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 thisHi,
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') -
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,
ROkay, 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 -
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,
-AshishThe 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? -
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.
-
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
RaoHello, 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
MarioHello
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
MarioThe 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 -
Variable Picker generates invalid XPath query
This one seems to be a bug:
When declaring a variable of type "element" (not "messageType") and accessing the variable with the Variable Picker from within the assign assistant, i.e. the following line ist generated:
bpws:getVariableData("testVar","","/tns:TaskMgrTestCaseRequest/tns:input")
The BPEL process can be validated and deployed without an error.
At runtime the following exception is generated:
XPath expression failed to execute.
Error while processing xpath expression, the expression is "bpws:getVariableData("testVar", "", "/tns:TaskMgrTestCaseRequest/tns:input")", the reason is XPath expression failed to execute.
Error while processing xpath expression, the expression is "", the reason is Unexpected ''.
Please verify the xpath query.
Please verify the xpath query.
When working with variables of type messageType, there is no problem. (So I declared a messageType to each element type ...)
WolfgangThanks for the heads up. We will try to kill this bug in the 0.97 release. -Edwin
-
Call Function from PLSQL--ORA-31013 : Invalid XPATH expressioon
I tried the following SQL statement. when I called function,it giving error.
select *
from v$version;
1
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
2
PL/SQL Release 10.2.0.3.0 - Production
3
CORE 10.2.0.3.0
Production
4
TNS for Linux: Version 10.2.0.3.0 - Production
5
NLSRTL Version 10.2.0.3.0 - Production
function READ_SYSTEM_RESPONSE(PARAM IN CLOB)
RETURN NUMBER
AS
l_namespace varchar2(1000):='xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader PackageProxy.xsd"
xmlns:sh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
xmlns:ef="http://www.efatura.gov.tr/package-namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"';
x XMLTYPE
:= XMLTYPE('<?xml version="1.0" encoding="UTF-8"?>
<sh:StandardBusinessDocument xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader PackageProxy.xsd"
xmlns:sh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
xmlns:ef="http://www.efatura.gov.tr/package-namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<sh:StandardBusinessDocumentHeader>
<sh:HeaderVersion>1.0</sh:HeaderVersion>
</sh:StandardBusinessDocumentHeader>
</sh:StandardBusinessDocument>');
CURSOR ana IS
SELECT 1--EXTRACTVALUE(VALUE (p),'/sh:StandardBusinessDocumentHeader/sh:HeaderVersion',l_namespace) AS IMZA
FROM TABLE(XMLSEQUENCE (EXTRACT (x,'/sh:StandardBusinessDocument',l_namespace))) p;
BEGIN
FOR r IN ana
loop
dbms_output.put_line('- - - - - - -');
end loop;
RETURN 1;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line(sqlerrm);
RETURN 0;
END;odie_63 wrote:
Remove this from the l_namespace string, it has nothing to do in there, it's not a namespace declaration :
xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader PackageProxy.xsd
As a general rule, just declare the namespace(s) - default or prefixes - you need to resolve the XPath expression.
Once you correct that part, you'll discover that your query returns NULL.
That's because the XPath doesn't point to any node.
Try this instead :
SELECT EXTRACTVALUE(
VALUE (p)
, '/sh:StandardBusinessDocument/sh:StandardBusinessDocumentHeader/sh:HeaderVersion'
, l_namespace
) AS IMZA
FROM TABLE(
XMLSEQUENCE(
EXTRACT (x, '/sh:StandardBusinessDocument', l_namespace)
) p
Thanks odie_63,You're right. I removed " xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader PackageProxy.xsd" and It is working! -
What is the cause of the XPath error in concat expression
Hi,
In a BPEL process I am working on I am building a list as follows -
<copy>
<from expression="concat(bpws:getVariableData('FMSNumbersList'),' | ',bpws:getVariableData('Invoke_1_GetFmsHeadersSelect_OutputVariable','FmsWaveAssignCollection','/ns5:FmsWaveAssignCollection/ns5:FmsWaveAssign/ns5:fmsHeadersCollection/ns5:FmsHeaders[bpws:getVariableData('FmsHeadersProcessed')]/ns5:fmsNumber'))"/>
<to variable="FMSNumbersList"/>
</copy>
When I compile the project I get the following error -
Error(195): invalid xpath expression
xpath expression "concat(bpws:getVariableData('FMSNumbersList'),' | ',bpws:getVariableData('Invoke_1_GetFmsHeadersSelect_OutputVariable','FmsWaveAssignCollection','/ns5:FmsWaveAssignCollection/ns5:FmsWaveAssign/ns5:fmsHeadersCollection/ns5:FmsHeaders[bpws:getVariableData('FmsHeadersProcessed')]/ns5:fmsNumber'))" specified in <from> is not valid, because XPath query syntax error.
The syntax error occurs while parsing XPath expression concat(bpws:getVariableData('FMSNumbersList'),' | ',bpws:getVariableData('Invoke_1_GetFmsHeadersSelect_OutputVariable','FmsWaveAssignCollection','/ns5:FmsWaveAssignCollection/ns5:FmsWaveAssign/ns5:fmsHeadersCollection/ns5:FmsHeaders[bpws:getVariableData('FmsHeadersProcessed')]/ns5:fmsNumber')), at position 255.
The XPath query syntax was wrong; the exception was: Expected: ).
Check the detailed root cause described in the exception message text and verify that the XPath expression named in the error message is correct. The XPath expression is defined in the BPEL process.
Make sure the expression is valid
I am unable to figure out what is wrong with the above expression. Can someone please help.
Thanks in advance
HarishYou have to use two copy statement to fetch values like an Array.
1. Construct a dynamic xpath expression
2. Use dynmaic xpath to get the array value
Eg:
The below code shows how to use assign to build the dynamic XPath.
<assign name="Assign_XPath_For_Array">
<copy>
<from expression="concat('/ns1:ArrayList/ns2:ArrayElem[',bpws:getVariableData('Variable_Index_Counter'),']') "/>
<to variable="Variable_Xpath"/>
</copy>
</assing>
Note have used [index] to represent index element here in the array.
Here Variable_Xpath acts as a temporary string variable that holds the intermediate Xpath as string.
Now use this XPath string Variable while reading array index elements.
This would look like
<assign name="Assign_Read_Array">
<copy>
<from expression="bpws:getVariableData('Variable_Array','payload',bpws:getVariableData('Variable_Xpath'))"/>
<to variable="Variable_Read_Array_Element"
query="/ns1: ABC"/>
</copy>
</assign>
--Prasanna -
Error in giving variable in ora:readFile() Xpath function
Hi,
I have a requirement like i need to give a variable name in ora:readFile() Xpath function. Below is the method in which i am trying. but i am getting error
ora:readFile('file:////home/casdevro/tbm/archive/bpws:getVariableData('inputFile')')
Error iam getting while compiling is:
Error(80):
[Error ORABPEL-10039]: invalid xpath expression
[Description]: in line 80 of "C:\Softwares\JDev10.1.3.4\jdevstudio10134\jdev\mywork\Test\bpel\Test.bpel", xpath expression "ora:readFile('file:////home/casdevro/tbm/archive/bpws:getVariableData('inputFile')')" specified in <from> is not valid, because XPath query syntax error.
Syntax error while parsing xpath expression "ora:readFile('file:////home/casdevro/tbm/archive/bpws:getVariableData('inputFile')')", at position "71" the exception is Expected: ).
Please verify the xpath query "ora:readFile('file:////home/casdevro/tbm/archive/bpws:getVariableData('inputFile')')" which is defined in BPEL process.
[Potential fix]: Please make sure the expression is valid.
Am i missing anything. Please guide me
Thanks in advance.Try this. And I guess one forward slash after "file:" suffices.
ora:readFile(concat('file:/home/casdevro/tbm/archive/', bpws:getVariableData('inputFile')'))
Maybe you are looking for
-
Where can I get old version itunes
Where can I get an older version of itunes for imac. A newer version seems to have disabled the old version and the library (is now created by a newer version" so I can't access the music via itunes at all. I have gone into HD/Library/Receipts and re
-
Hi everyone, I need to know how can I fill out the header text in the deliveries created in transaction VL01N so I can see this header text in MB51 report I hope someone can help me. Thanks in advance
-
All, Our output for the AA180 adds a square character ~ every 30 lines in front of a line. This is proventing users from being able to easily download the report to excel for review. Does anybody know of a fix for this? Thanks,
-
Safari toolbar use to have names with the icons. How do I get it back?
safari toolbar has icons. How do I get names to appear below icons Peter
-
How to sync 3 macs together?
Hi all, I have an imac, a mbp and a mba all running on Lion. Is there a way to sync all 3 macs together? Things i want to sync are outlook, iphoto and some folders.