SimpleDateFormat parse fails !!!
Hi guys, has anyone have a solution to this problem:
SimpleDateFormat fr = new SimpleDateFormat("dd-MM-yyyy");
fr.setLenient(false);
System.out.println(fr.parse("10-10-00"));-SimpleDateFormat seems not capable to parse 00 year when year is in four digit format.
Is there any trick to parse this as a 2000 year as a simple way ???
Thanks in advance
I know if I use 2 digits the problem gets solved, I
need to solve it because there are customers that
need four digits in format, so I need to be able to
parse in 4 digits 2000 year in a faster way
It sounds like you're failing to distinguish between parsing and formatting. If you need to parse a four-digit year, then feed it a string with a four-digit year. You may need to use more than one DateFormat object; e.g., one for parsing, one for formatting.
Formatting a Date Using a Custom Format
Parsing a Date Using a Custom Format
Similar Messages
-
SimpleDateFormat parsing difficulty
Hello all,
Recently, I had to parse Strings into Dates using SimpleDateFormat. The difficulty I had was because the Strings had timezone offsets. The code below shows the 3 tests it took to create a Date object of specified TimeZone.
Test 1
Fails because I don't set the TimeZone for SimpleDateFormat.
Test 2
Works for the first String because the TimeZone matches the timezone in the String.
Test 3
Works for all Strings, but is cumbersome because I have to parse the end of the String myself.
My question is this: Shouldn't SimpleDateFormat parse a String directly into a Date without having you to specify the TimeZone of that Date? This problem was very annoying to solve and goes against logic (at least mine!).
I'm interested in any thoughts on this matter. Am I being unreasonable, or is this poorly explained in the API?
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;
public class DateTests {
private static String DATE_FORMAT = "yyyyMMddHHmmss.SSSZ";
private static String[] TEST_DATA = {
"20020125120434.175+0800",
"20031101195801.942+0000",
"20041231000159.999-0536",
"20050220165427.531-1100"
private static int MINUTE = 60 * 1000; //in milliseconds
private static int HOUR = 60 * MINUTE;
public static void main(String[] args) {
test1();
test2();
test3();
private static void test1() {
System.out.println("**** TEST 1 ****\n");
DateFormat formatter = new SimpleDateFormat(DATE_FORMAT);
formatter.setLenient(false); //want to check that dates are valid
for (String dateString : TEST_DATA) {
try {
Date date = formatter.parse(dateString);
System.out.println("Success! The date is: "+date.toString());
} catch (ParseException e) {
System.out.println(dateString + " has error index of: " + e.getErrorOffset());
//out of curiousity, lets see the String representation of the current date & time
Date now = new Date();
String currentDate = formatter.format(now);
System.out.println("\nThe current date as a String: "+currentDate);
System.out.println("\n");
private static void test2() {
System.out.println("**** TEST 2 ****\n");
DateFormat formatter = new SimpleDateFormat(DATE_FORMAT);
formatter.setLenient(false); //want to check that dates are valid
//lets make the timezone +0800
formatter.setTimeZone(new SimpleTimeZone(8 * HOUR, "GMT")); //8 hour offset
for (String dateString : TEST_DATA) {
try {
Date date = formatter.parse(dateString);
System.out.println("Success! The date is: "+date.toString());
} catch (ParseException e) {
System.out.println(dateString + " has error index of: " + e.getErrorOffset());
System.out.println("\nSuccess for the first date. Why? The timezone of the formatter matches the date.");
System.out.println("\n");
private static void test3() {
System.out.println("**** TEST 3 ****\n");
DateFormat formatter = new SimpleDateFormat(DATE_FORMAT);
formatter.setLenient(false); //want to check that dates are valid
for (String dateString : TEST_DATA) {
try {
//lets set a timezone for each individual date
int length = dateString.length();
int gmtMinutes = Integer.parseInt(dateString.substring(length-2, length));
int gmtHours = Integer.parseInt(dateString.substring(length-4, length-2));
int timeZone = gmtMinutes * MINUTE + gmtHours * HOUR;
timeZone = dateString.charAt(length-5) == '+' ? timeZone : -timeZone;
formatter.setTimeZone(new SimpleTimeZone(timeZone, "GMT"));
Date date = formatter.parse(dateString);
System.out.println("Success! The date is: "+date.toString());
} catch (ParseException e) {
System.out.println(dateString + " has error index of: " + e.getErrorOffset());
}-MuelDate objects don't have time zones.
This is true, my problem was that I needed to parse both the Date and the TimeZone from a String. I got misled by the SimpleDateFormat documentation (the symbol Z), and somehow got the impression that a Date should have an associated TimeZone!
In hindsight, it is clear that Z should be used for Date strings containing a timezone and that SimpleDateFormat uses the timezone to modify the Date so that it's correct for the timezone of the current machine. If that makes sense!
-Muel -
Calling Web Service from PL/SQL (ORA-31011: XML parsing failed)
hi all,
i want to invoke a web service from PL/SQL.
i found a soap_api package from "Tim Hall".
but it gives error in "ealtas.soap_api.invoke function"
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00007: unexpected end-of-file encountered
ORA-06512: at "SYS.XMLTYPE", line 48
ORA-06512: at "EALTAS.SOAP_API", line 135
ORA-06512: at line 44
set scan off;
declare
P_ADRES_WS VARCHAR2(100) := 'http://<host>:<port>/dswsbobje/qaawsservices/biws?wsdl=1&cuid=AVhBxL14I2dDjz8yFoznRLY';
P_ENVELOPE VARCHAR2(32767);
P_FNC VARCHAR2(256) := 'runQueryAsAService';
ol_req ealtas.soap_api.t_request;
ol_resp ealtas.soap_api.t_response;
message varchar2(500);
BEGIN
p_envelope := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:db="DB_SUBS_BUDGET">
<soapenv:Body>
<db:runQueryAsAService>
<db:login>DWH_BO</db:login>
<db:password>Pass1234</db:password>
</db:runQueryAsAService>
</soapenv:Body>
</soapenv:Envelope>
ol_req := ealtas.soap_api.new_request(P_FNC, 'xmlns="'||P_ADRES_WS||'"');
ol_resp := ealtas.soap_api.invoke(ol_req, P_ADRES_WS, p_fnc,P_ENVELOPE);
ealtas.soap_api.show_envelope(p_envelope);
message := ealtas.soap_api.get_return_value(ol_resp, 'Db_Timeid', 'xmlns:m="'||P_ADRES_WS||'"');
DBMS_OUTPUT.PUT_LINE('AAAA -'||message);
end;
thanks.
ealtas.AlexAnd thanks for your help.
ACL is ok.
can you help me about how can i edit this function. i tried many times but i could not do it :( .
web service url : <host>:<port>/dswsbobje/qaawsservices/biws?WSDL=1&cuid=AVhBxL14I2dDjz8yFoznRLY
what must be these variables values ?
l_url :=
l_namespace :=
l_method :=
l_soap_action :=
l_result_name :=
this is the xml;
<?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="DB_SUBS_BUDGET" xmlns:tns1="dsws.businessobjects.com" targetNamespace="DB_SUBS_BUDGET" xmlns="http://schemas.xmlsoap.org/wsdl/" name="queryasaservice">
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="DB_SUBS_BUDGET">
- <s:element name="runQueryAsAService">
- <s:complexType>
- <s:sequence>
<s:element name="login" type="s:string" />
<s:element name="password" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:complexType name="Row">
- <s:sequence>
<s:element name="Db_Timeid" type="s:string" nillable="true" />
<s:element name="Db_Tariff" type="s:string" nillable="true" />
<s:element name="Grossadds" type="s:double" nillable="true" />
<s:element name="Cancellations" type="s:double" nillable="true" />
<s:element name="Netadds" type="s:double" nillable="true" />
<s:element name="Subs" type="s:double" nillable="true" />
<s:element name="Churn_P" type="s:double" nillable="true" />
</s:sequence>
</s:complexType>
- <s:complexType name="Table">
- <s:sequence>
<s:element name="row" maxOccurs="unbounded" type="s0:Row" />
</s:sequence>
</s:complexType>
- <s:element name="runQueryAsAServiceResponse">
- <s:complexType>
- <s:sequence>
<s:element name="table" type="s0:Table" />
<s:element name="message" type="s:string" />
<s:element name="creatorname" type="s:string" />
<s:element name="creationdate" type="s:dateTime" />
<s:element name="creationdateformated" type="s:string" />
<s:element name="description" type="s:string" />
<s:element name="universe" type="s:string" />
<s:element name="queryruntime" type="s:int" />
<s:element name="fetchedrows" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="QaaWSHeader">
- <s:complexType>
- <s:sequence>
<s:element name="sessionID" type="s:string" minOccurs="0" maxOccurs="1" nillable="true" />
<s:element name="serializedSession" type="s:string" minOccurs="0" maxOccurs="1" nillable="true" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
- <message name="runQueryAsAServiceSoapIn">
<part name="parameters" element="s0:runQueryAsAService" />
<part name="request_header" element="s0:QaaWSHeader" />
</message>
- <message name="runQueryAsAServiceSoapOut">
<part name="parameters" element="s0:runQueryAsAServiceResponse" />
</message>
- <portType name="QueryAsAServiceSoap">
- <operation name="runQueryAsAService">
<documentation>Get Web Service Provider server info</documentation>
<input message="s0:runQueryAsAServiceSoapIn" />
<output message="s0:runQueryAsAServiceSoapOut" />
</operation>
</portType>
- <binding name="QueryAsAServiceSoap" type="s0:QueryAsAServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="runQueryAsAService">
<soap:operation soapAction="DB_SUBS_BUDGET/runQueryAsAService" style="document" />
- <input>
- <soap:header message="s0:runQueryAsAServiceSoapIn" part="request_header" use="literal">
<soap:headerfault message="s0:runQueryAsAServiceSoapIn" part="request_header" use="literal" />
</soap:header>
<soap:body use="literal" parts="parameters" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="DB_SUBS_BUDGET">
<documentation />
- <port name="QueryAsAServiceSoap" binding="s0:QueryAsAServiceSoap">
<soap:address location="http://<host>:<port>/dswsbobje/qaawsservices/queryasaservice?&cuid=AVhBxL14I2dDjz8yFoznRLY&authType=secEnterprise&locale=en_US&timeout=60&ConvertAnyType=false" />
</port>
</service>
</definitions> -
XML parsing failed : Try to update FCRM field
i created one field in fusion crm ,lead . and i have one table in my oracle EBS database i write one procedure which get data from table and pur into fcrm
when i call procedure with static value it perfactly alright but ,when try to use xml parsing for all records give following error
ORA-20001: An error was encountered - -31011 -ERRORORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00245: extra data after end of document
Error at line 1
ORA-06512: at "SCOTT.XX_LEAD_UPDATE", line 101
ORA-06512: at line 1
my procedure as follow :
CREATE OR REPLACE PROCEDURE xx_lead_update
--(p_leadid IN VARCHAR2,p_xx_kp_lead IN VARCHAR2)
IS
p_leadid VARCHAR2(50);
p_xx_kp_lead VARCHAR2(50);
CURSOR c1 IS
SELECT FCRM_LEADID,XX_KP_LEAD
FROM XX_KP_EBSLEAD
WHERE ID = 6;
-- Construct xml payload, which is used to invoke the service.
l_envelope VARCHAR2(32767) := '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/types/" xmlns:lead="http://xmlns.oracle.com/oracle/apps/marketing/leadMgmt/leads/leadService/" xmlns:lead1="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/" xmlns:not="http://xmlns.oracle.com/apps/crmCommon/notes/noteService" xmlns:not1="http://xmlns.oracle.com/apps/crmCommon/notes/flex/noteDff/">
<soapenv:Header/>
<soapenv:Body>
<typ:updateSalesLead>
<typ:salesLead>
<lead:LeadId>'||p_leadid||'</lead:LeadId>
<lead:xx_kp_lead_c>'||p_xx_kp_lead||'</lead:xx_kp_lead_c>
</typ:salesLead>
</typ:updateSalesLead>
</soapenv:Body>
</soapenv:Envelope>';
--PartyId: 300000000912340
l_result VARCHAR2(32767) := null;
l_http_request UTL_HTTP.req;
l_http_response UTL_HTTP.resp;
v_len number;
v_txt Varchar2(32767);
soap_respond CLOB;
resp xmltype;
l_str long;
v_str varchar2(100);
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO p_leadid,p_xx_kp_lead;
dbms_output.put_line ('p_xx_kp_lead '||p_xx_kp_lead);
dbms_output.put_line ('p_leadid: '||p_leadid);
-- Sets the Oracle wallet used for request, required for HTTPS
UTL_HTTP.set_wallet('file:/apps/oracle/dnlclone/10.2.0/wallet','test1234');
-- Creates new HTTP request
l_http_request := UTL_HTTP.begin_request('https://aes.crm.ap2.oraclecloud.com:443/mklLeads/SalesLeadService?WSDL', 'POST','HTTP/1.1');
-- Configure the authentication details on the request
UTL_HTTP.SET_AUTHENTICATION(l_http_request, '[email protected]', 'DNLcrm*1');
-- Configure the request content type to be xml and set the content length
UTL_HTTP.set_header(l_http_request, 'Content-Type', 'text/xml');
UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(l_envelope));
-- Set the SOAP action to be invoked; while the call works without this the value is expected to be set based on standards
UTL_HTTP.set_header(l_http_request, 'SOAPAction','http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/');
-- Write the xml payload to the request.
UTL_HTTP.write_text(l_http_request, l_envelope);
-- Get the response
l_http_response := UTL_HTTP.get_response(l_http_request);
utl_http.get_header_by_name(l_http_response, 'Content-Length', v_len, 1); -- Obtain the length of the response
FOR i in 1..CEIL(v_len/32767) -- obtain response in 32K blocks just in case it is greater than 32K
LOOP
utl_http.read_text(l_http_response, v_txt, case when i < CEIL(v_len/32767) then 32767 else mod(v_len,32767) end);
soap_respond := soap_respond || v_txt; -- build up CLOB
END LOOP;
UTL_HTTP.END_RESPONSE(l_http_response);
resp:= xmltype.createxml(soap_respond); -- Convert CLOB to XMLTYPE
--Using extract or extractvalue methods, retrieve value from a particular element/tag in the xml
--v_str := resp.extract('/env:Envelope/env:Body/ns0:updateOpportunityResponse/ns2:result/ns3:EBSOrderNumber_c/text()','xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/types/" xmlns:ns2="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/types/" xmlns:ns3="http://xmlns.oracle.com/apps/sales/opptyMgmt/opportunities/opportunityService/"').getstringval();
l_str := resp.extract('/*').getstringval();
LOOP
EXIT
WHEN l_str IS NULL;
dbms_output.put_line (SUBSTR (l_str, 1, instr (l_str, chr(10)) - 1));
l_str := SUBSTR (l_str, instr (l_str, chr(10)) + 1);
END LOOP;
--dbms_output.put_line('EBS Order Number updated as: '||v_str);
EXIT WHEN c1%NOTFOUND;
END LOOP;
CLOSE c1;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
--dbms_output.put_line('Exception');
RAISE_APPLICATION_ERROR(-20001,'An error was encountered - '
||SQLCODE||' -ERROR'||SQLERRM);
END;Hi,
Remove the exception handler (it's totally useless here) and tell us which line is really giving the error. -
Parsing Failed for Date in Prompt
Hi Folks,
I am having Parsing Issue on "Key Date" Object in Universe. See the Error and Code below for your review
Error: Parse Failed: Exception: DBD, The value entered is not valid. It must adhere to one of the following formats.
YYYYMMDD
DD.MM.YYYYState:N/A
Code:
<OPERATOR VALUE="AND"><OPTIONAL><FILTER KEY="[0I_DAYIN]"><CONDITION OPERATORCONDITION="Between"><CONSTANT TECH_NAME="@Prompt('Day Interval From','A','Calendar Day\LovDay IntervalBase',mono,primary_key)"/><CONSTANT TECH_NAME="@Prompt('Day Interval To','A','Calendar Day\LovDay IntervalBase',mono,primary_key)"/></CONDITION></FILTER></OPTIONAL><FILTER KEY="[0P_KEYDA]"><CONDITION OPERATORCONDITION="Equal"><CONSTANT TECH_NAME="@Prompt('Key Date','D',,mono,free)"/></CONDITION></FILTER></OPERATOR>
This universe is created by someone else and client need to modify it with a calendar but i did not modify it yet however its already giving me the hard time. Kindly advise, any kind of help will be appreciated
ThanksUse the code below for the filter:
<OPERATOR VALUE="AND">
<OPTIONAL>
<FILTER KEY="[0I_DAYIN]">
<CONDITION OPERATORCONDITION="Between">
<CONSTANT TECH_NAME="@Prompt('Day Interval From','D',,mono,free)"/>
<CONSTANT TECH_NAME="@Prompt('Day Interval To','D',,mono,free)"/>
</CONDITION>
</FILTER>
</OPTIONAL>
<FILTER KEY="[0P_KEYDA]">
<CONDITION OPERATORCONDITION="Equal">
<CONSTANT TECH_NAME="@Prompt('Key Date','D',,mono,free)"/>
</CONDITION>
</FILTER>
</OPERATOR>
Regards -
Hi All
Please help me with the following query. We are migrating SAP BW 7.4 on Oracle to HANA. We have few WEBI report's universes built on BEx queries. In one of those reports there are some hidden RKFs, these works perfectly fine in reports based on oracle. Now we migrated to HANA in development system and when i refresh the universe structure they started giving errors like "Parse failed: Exception DBD, The supplied XML is not valid[Measures].[SAP_OBJECT_NAME] State:N/A". The object giving this error is in hidden state. I tried to unhide it and run the report then it runs fine but that not the client want as there might be so many hidden KFs in other reports also. BO version is 4.1 SP 2. We are on SAPKW74006 support package on BW side. Is there any notes to correct this error. Please pass me the relevant links. Highly appreciate your help.
Thanks
DwarakaDCA-40012: The Web Service call failed. A connection to the target Web Service could not be created.
First of all test the web service you have created in model project. Right click the web service name and select "Test WebService". If you see any issue(s) while testing fix it first before you run the jspx page.
Check the port number in the URL and connections.xml, it have to be same. -
Hi ,
I am facing issue while building composite in jdeveloper.It is showing below error.Please Suggest how to proceed further.
Error: XML parsing failed because ""
Buildfile: C:\Oracle\Middleware\jdeveloper\bin\ant-sca-compile.xml
scac:
[scac] Validating composite "C:\MR96\BPEL Services\MOOA_businesservices\AddComponent\composite.xml"
[scac] Setting BPELC option 'classpath' to C:\Oracle\Middleware\modules\com.oracle.toplink_1.0.0.0_11-1-1-5-0.jar;C:\Oracle\Middleware\modules\org.eclipse.persistence_1.1.0.0_2-1.jar;C:\Oracle\Middleware\modules\com.bea.core.antlr.runtime_2.7.7.jar;C:\Oracle\Middleware\modules\javax.persistence_1.0.0.0_2-0-0.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.xdk_11.1.0\xmlparserv2.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.xdk_11.1.0\xml.jar;C:\Oracle\Middleware\jdeveloper\jdev\extensions\oracle.sca.modeler.jar;C:\Oracle\Middleware\jdeveloper\soa\modules\oracle.soa.fabric_11.1.1\fabric-runtime.jar;C:\Oracle\Middleware\jdeveloper\soa\modules\oracle.soa.mgmt_11.1.1\soa-infra-mgmt.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.fabriccommon_11.1.1\fabric-common.jar;C:\Oracle\Middleware\jdeveloper\soa\modules\oracle.soa.bpel_11.1.1\orabpel.jar;C:\Oracle\Middleware\jdeveloper\soa\modules\oracle.soa.mediator_11.1.1\mediator_client.jar;C:\Oracle\Middleware\oracle_common\modules\oracle.mds_11.1.1\mdsrt.jar;;C:\MR96\BPEL Services\MOOA_businesservices\AddComponent\SCA-INF\classes
[scac] java.lang.NullPointerException
[scac] at com.collaxa.cube.lang.compiler.map.bpel.BPELProcess.lookupInitiationInfo(BPELProcess.java:1010)
[scac] at com.collaxa.cube.lang.compiler.map.bpel.BPELProcess.addOnMessage(BPELProcess.java:903)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseOnMessage(BpelParser.java:1597)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.startElement(BpelParser.java:587)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:492)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parseElement(BpelParser.java:499)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parse(BpelParser.java:455)
[scac] at com.collaxa.cube.lang.compiler.bpel.BpelParser.parse(BpelParser.java:402)
[scac] at com.collaxa.cube.lang.compiler.bpel.BPELValidator.validate(BPELValidator.java:65)
[scac] at com.collaxa.cube.lang.compiler.BPEL1Processor.validate(BPEL1Processor.java:329)
[scac] at com.collaxa.cube.lang.compiler.BPEL1Processor.process(BPEL1Processor.java:153)
[scac] at com.collaxa.cube.lang.compiler.CubeParserHelper.compile(CubeParserHelper.java:47)
[scac] at oracle.fabric.bpel.bpelc.BPELComponentValidator.validate(BPELComponentValidator.java:40)
[scac] at oracle.soa.scac.ValidateComposite.validateComponentTypeServicesReferences(ValidateComposite.java:1051)
[scac] at oracle.soa.scac.ValidateComposite.doValidation0(ValidateComposite.java:502)
[scac] at oracle.soa.scac.ValidateComposite.doValidation(ValidateComposite.java:481)
[scac] at oracle.soa.scac.ValidateComposite.run0(ValidateComposite.java:206)
[scac] at oracle.soa.scac.ValidateComposite.run(ValidateComposite.java:187)
[scac] at oracle.soa.scac.ValidateComposite.main(ValidateComposite.java:179)
[scac] AddComponentProcess.bpel: error: XML parsing failed because ""
BUILD FAILED
C:\Oracle\Middleware\jdeveloper\bin\ant-sca-compile.xml:278: Java returned: 1 Check log file : C:\MR96\BPEL Services\MOOA_businesservices\AddComponent\SCA-INF\classes\scac.log for errors
Total time: 1 minute 27 seconds
ThanksHi,
Please give a try to this:(Take back up before doing this)
1. Download PATCH 11066656 .
2. Go to your JDEV_HOME/jdeveloper/soa/modules/oracle.soa.bpel_11.1.1/
and make a backup copy of orabpel.jar.
3. Copy the file orabpel.jar from patch 11066656 to JDEV_HOME/jdeveloper/soa/modules/oracle.soa.bpel_11.1.1/.
4. Restart JDeveloper.
5. Now the project should compile without the SCAC error.
This was fixed in 11.7 but since you are getting SCAC so asked the above action plan.
If it did not resolves see below steps:
=============================================================
File will be there but a class is missing which might cause this.
If you have same soa version 11.1.1.7.0 can you check that fabricruntime.jar from soa home and jdev home size is same?
In soa home it will be under Oracle_SOA/soa/modules directory.
If size is not same replace jdev fabricruntime.jar from soa home.
Also can you confirm on:
Please let me know whether you are able to deploy from EM or getting same error during deployment also? or from ant script. -
XML parser fails to convert html encoded text nodes
Under the strain of large documents this defect rears its ugly head more often. While parsing a text node containing html encoded chars i.e. < > &; etc...
The parser will seemingly forget to change the chars at random, 99.9% of the time everything is ok and the proper conversions take place:
< -> <
> -> >
&; -> &
Once an error occurs it is reproducible until the text node is changed ( values and/or order ) then it is a crapshoot again.
These tests were done using the default UTF-8 encoding, here is the exception thrown by the parser along with a portion of the text node before and after the first parsing.
Let me be clear, the parser actually succeeds the first time but the transformation of the HTML encoded pieces possibly fails. It is on the parsing of the text node value as its own document that the parser fails.
Error 0 : Error parsing XML string! Line :: 1, Column :: 65674
Error 1 : End tag does not match start tag 'Project'.
End tag does not match start tag 'Project'.
at oracle/xml/parser/v2/XMLError.flushErrors (XMLError.java:233)
at oracle/xml/parser/v2/NonValidatingParser.parseDocument (NonValidatingParser.java:248)
at oracle/xml/parser/v2/XMLParser.parse (XMLParser.java:117)
at pacificedge/xml/XMLUtilities.loadParserFromString (XMLUtilities.java:104)
Preprocessing ::
<Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213">
<StuffA>100213</StuffA>
<Name>I am a Name</Name>
<StartDate>1998-08-10</StartDate>
<FinishDate>2000-06-30</FinishDate>
<Path>Folder1\Folder2</Path>
</Project>
Post processing:
<Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213">
<StuffA>100213</StuffA>
<Name>I am a Name</Name>
<StartDate>1998-08-10</StartDate> <-- Error is raised here when the value of the text node is used as an xml document
<FinishDate>2000-06-30</FinishDate>
<Path>Folder1\Folder2</Path>
</Project>
Please investigate this. It is a chronic problem for us and possibly many others.
nullSorry for the encoding issues in the message before here are the pertinent pieces hope this shows up correctly.
&;lt; -> &;#60;
&;gt; -> >
&;amp; -> &;#38;
Preprocessing ::
&;lt;Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213"&;gt;
&;lt;StuffA&;gt;100213&;lt;/StuffA&;gt;
&;lt;Name&;gt;I am a Name&;lt;/Name&;gt;
&;lt;StartDate&;gt;1998-08-10&;lt;/StartDate&;gt;
&;lt;FinishDate&;gt;2000-06-30&;lt;/FinishDate&;gt;
&;lt;Path&;gt;Folder1\Folder2&;lt;/Path&;gt;
&;lt;/Project&;gt;
Post processing:
<Project stuff0="0" stuff1="0" stuff2="0" stuff3="1" stuff4="100167" stuff5="100213">
<StuffA>100213</StuffA>
<Name>I am a Name</Name>
&;lt;StartDate>1998-08-10</StartDate> <-- Error is raised here when the value of the text node is used as an xml document
<FinishDate>2000-06-30</FinishDate>
<Path>Folder1\Folder2</Path>
</Project>
null -
ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing
Hi,
I am trying to update an already existing Sales Order through PO Change Inbound 860. When i am performing changes in the line quantity and scheduled ship date with operation code as "Update" then it is successfully updating the Order and also we are able to generate the POAck for the updated sales order lines. But when i am rejecting one of the PO change lines by checking rejected flag, then order is getting imported successfully(I mean sales order is getting updated successfully) but during the POAck Generation i.e. 865 its raising "*ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00103: Warning: document structure does not match DTD Error at line 1*" at XML Gateway. we are using XML Gateway to process the orders, can somebody help me to get rid of this issue. Thanks in advance.
Thanks,
Sunil ChauhanHi Kishan
Thanks for the reply.
Because this is an outbound transaction so i can not provide you the XML file as we are facing issue to generate the same. Also we are using oracle seeded PO outbound Ack map.
In addition i can provide you the DTD file.
<!-- ==================================================== -->
<!ENTITY % RESOURCES SYSTEM "oagis_resources.dtd">
%RESOURCES;
<!-- ==================================================== -->
<!ELEMENT ACKNOWLEDGE_PO_008 (CNTROLAREA, DATAAREA+)>
<!ATTLIST VERB
value CDATA #FIXED "ACKNOWLEDGE"
>
<!ATTLIST NOUN
value CDATA #FIXED "PO"
>
<!ATTLIST REVISION
value CDATA #FIXED "008"
>
<!ELEMENT DATAAREA (ACKNOWLEDGE_PO)
>
<!ELEMENT ACKNOWLEDGE_PO (POORDERHDR, POORDERLIN*)
>
<!ELEMENT POORDERHDR ((%DATETIME.DOCUMENT;)?, (%OPERAMT.EXTENDED.T;)?, POID, POTYPE, ACKREQUEST?, CONTRACTB?, CONTRACTS?, DESCRIPTN?, NOTES*, OPRAMTAUTH?, PORELEASE?, TAXWHEXMPT?, USERAREA?, ACKHEADER, ATTCHREF*, CHARGE*, PARTNER*, POTERM*)
>
<!ELEMENT ACKHEADER (SENDER, (%DATETIME.PROMDELV;)?, (%DATETIME.PROMSHIP;)?, ACKCODE, DESCRIPTN?, NOTES*, SALESORDID?, USERAREA?)
>
<!ELEMENT POTERM (DESCRIPTN?, TERMID?, ((DAYOFMONTH, PROXMONTH) | DAYSNUM), ((%OPERAMT.EXTENDED.T;) | (%QUANTITY.PERCENT;)), USERAREA?)
>
<!ELEMENT POORDERLIN ((%QUANTITY.ORDERED;), (%DATETIME.NEEDDELV;)?, (%OPERAMT.UNIT.T;)?, POLINENUM, DRAWING?, HAZRDMATL?, ITEMRV?, ITEMRVX?, NOTES*, PACKING?, POLNSTATUS?, TAXWHEXMPT?, ((DESCRIPTN, ITEM?, ITEMX?, UPC?) | (ITEM, ITEMX?, UPC?) | (ITEMX, UPC?) | (UPC)), USERAREA?, ACKLINE*, ATTCHREF*, CHARGE*, DISTRIBUTN*, PARTNER*, POTERM*, POSUBLINE*, POLINESCHD*)
>
<!ELEMENT ACKLINE ((%DATETIME.PROMDELV;)?, (%DATETIME.PROMSHIP;)?, (%QUANTITY.ORDERED;)?, ACKCODE, NOTES*, SALESORDID?, USERAREA?)
>
<!ELEMENT POSUBLINE ((%QUANTITY.ITEM;), DRAWING?, ITEMRV?, ITEMRVX?, PSBLINENUM?, ((DESCRIPTN, ITEM?, ITEMX?, UPC?) | (ITEM, ITEMX?, UPC?) | (ITEMX, UPC?) | (UPC)), USERAREA?)>
<!ELEMENT POLINESCHD ((%DATETIME.NEEDDELV;), (%QUANTITY.ORDERED;), DESCRIPTN?, PSCLINENUM?, USERAREA?)
>
Thanks,S
--Sunil -
ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing L
Hi There,
I am trying to load XML data [Given Below] into a table using "Load XML Data" option.
<?xml version="1.0"?>
<ROWSET>
<ROW>
<ID>13</ID>
<TYPE_SEQ>8</TYPE_SEQ>
<TYPE>B749</TYPE>
<TYPE_DESC>B758</_TYPE_DESC>
<EFFECTIVE_FROM>2099-01-01</EFFECTIVE_FROM>
<EFFECTIVE_TO>2099-01-01</EFFECTIVE_TO>
<CREATED_BY>958344</CREATED_BY>
<CREATED_ON>2099-01-01</CREATED_ON>
<UPDATED_BY>172283</UPDATED_BY>
<UPDATED_ON>2099-01-01</UPDATED_ON>
</ROW>
</ROWSET>
It throws the following error.
ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00222: error received from SAX callback function
Can any one advice the solution please.
-Sudheer.Hi Sudheer,
This is caused by the date format you are using. Probably it is not matching with your NLS settings. Check your NLS settings, what the date format is, and use that in the XML.
Check it with this code:
SELECT XMLELEMENT("date", sysdate) FROM dual;Make sure, you have your NLS_DATE settings in the same format.
Check it with:
SELECT * FROM v$nls_parameters WHERE parameter = 'NLS_DATE_FORMAT'And then make sure it is the same by setting for example:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';Greetings,
Rutger -
XML parsing failed while select from my table with criteria
While select from my table an error displayed as
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00601: Invalid token in: '/<XML Path>/row[c24="SA0010001"]'
select * from category
where existsNode(xmlrecord, '/<XML Path>/row[c24="SA0010001"]') = 1;
xmlrecord
<row id="52843" xml:space="preserve">
<c1>Refund of Domestic Payment Order</c1>
<c2>Ref Dom Py Or</c2>
<c3>PLsql</c3>
<c20>1</c20>
<c21>62_TAABSINPUTT___OFS_TAABS</c21>
<c22>0803181605</c22>
<c23>62_TAABSINPUTT_OFS_TAABS</c23>
<c24>SA0010001</c24>
<c25>1</c25>
</row>Hi,
Did you copy that sample from some demo?
The part "<XML Path>" is meant to be replaced by a real XPath fragment.
Here, I think you may just want this :
select * from category
where existsNode(xmlrecord, '/row[c24="SA0010001"]') = 1;Edit : OK, just seen your previous post and the example given
Edited by: odie_63 on 6 juil. 2010 21:16 -
I received the following error when I gave the following statement in select:
case when {fn_year(FINANCE_PERIOD.FP_START)} @prompt('Enter Year','N',,mono,free)
then 1 else 0
end
Parse failed: Exception: DBD, [Microsoft][ODBC SQL Server Driver] Syntax Error or access violationState: 42000
I looked at differnt forums but could not fnd the error.Sams Latin
then try this:
CASE
WHEN YEAR(FINANCE_PERIOD.FP_START) = @Prompt('Enter Year','N',here give class/object or LOV's,mono,free) THEN 1 ELSE 0
END
Note: In case of Date , you can make it blank (3rd parameter), which gives you calendar at runtime.
I suggest you try it in step by step like:
>> @Prompt('Enter Year','N',here give class/object or LOV's,mono,free)
Parse it, succeed. Then
>> YEAR(FINANCE_PERIOD.FP_START)
Parse it, then
for each case see LOV's.
>> at last, try above CASE WHEN
Hope it solves you.
I'm Back
Merry Christmas -
[Oracle JDBC Driver][Oracle]ORA-31011: XML parsing failed
Hi,
I have got the following error when i tired to upload an XML file in my application. My application will insert the XML file in to Oracle 10g data base table. (Our DB server is Oracle 10g).
The error is as follows:-
[BEA][Oracle JDBC Driver][Oracle]ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00004: internal error "MultiChar overflow"
Error at line 20795
ORA-06512: at "SYS.XMLTYPE", line 254
ORA-06512: at line 1
The XML file contains more than 90,000 lines in it. Please help.
Thanks!
Siva K.Is this a specific problem with 10G release? We are using 10.2.0.4.0.
Using CLOB, We think that this may hit the performance of the application as we are using large XML files. -
XML parsing failed - Works in Oracle Developer fails in SQLplus
Hello,
I am trying to figure out what could possibly be causing my XML parsing to fail from sqlplus. Basically the exact same sql script fails with the following error when run from sqlplus but works fine in Oracle Developer.
Now I have read a number of posts talking about the NLS_Lang and characterset issues. But these are all running on the same machine.
Error Message Received:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00222: error received from SAX callback function
ORA-06512: at "SYS.DBMS_XMLSTORE", line 78
ORA-06512: at line 53
Exact SQL Script
DECLARE
insCtx DBMS_XMLStore.ctxType;
rows NUMBER;
xmldoc CLOB :=
'<DepotData DepotCode="B106">
<tblPoint_of_Call>
<DEPOTCODE>B106</DEPOTCODE>
<MASTERKEY>2077</MASTERKEY>
<ADDR_ID>45286159</ADDR_ID>
<ADDR_MAIL_ID>45286160</ADDR_MAIL_ID>
<STREETBLOCK_KEY>45</STREETBLOCK_KEY>
<PC_ID>19603417</PC_ID>
<ST_ID>40034414</ST_ID>
<BUILDING_KEY>0</BUILDING_KEY>
<ADDR_NUM>505</ADDR_NUM>
<POCTYPE>154</POCTYPE>
<RECEPTACLETYPE>964</RECEPTACLETYPE>
<TOTALPOCS>1</TOTALPOCS>
<TOTALPOCSOCCUPIED>1</TOTALPOCSOCCUPIED>
<TOTALADMAIL>1</TOTALADMAIL>
<OLD038POC>0</OLD038POC>
<OCCUPIED>1</OCCUPIED>
<ADMAIL>1</ADMAIL>
<BAGGER>0</BAGGER>
<SORTED>1</SORTED>
<DELIVERED>1</DELIVERED>
<AMOBLIGATORY>0</AMOBLIGATORY>
<POCICANDIDATE>0</POCICANDIDATE>
<DELIVERYSEQUENCE>10</DELIVERYSEQUENCE>
<NUMSEPARATIONS>0.50</NUMSEPARATIONS>
<SEPSGROUPID>0</SEPSGROUPID>
<DELETED>0</DELETED>
<CARDID>0</CARDID>
<CARD>0</CARD>
<FORCECARD>0</FORCECARD>
<DNC>0</DNC>
<PRINTED>0</PRINTED>
<A12CARD>0</A12CARD>
<EXTRACARDS>0</EXTRACARDS>
<DSOUPDATECODE>0</DSOUPDATECODE>
<TRANSACTION_TYPE>0</TRANSACTION_TYPE>
<UPDATE_TYPE>0</UPDATE_TYPE>
<SORTSEQUENCE>10</SORTSEQUENCE>
<BUILDINGBASE>0</BUILDINGBASE>
</tblPoint_of_Call>
</DepotData>';
BEGIN
insCtx := DBMS_XMLStore.newContext('AIMPRIME.TBLPOINT_OF_CALL'); -- get saved context
-- set the columns to be updated as a list of values
-- Now insert the doc.
-- This will only insert into EMPNO, SAL and HIREDATE columns
DBMS_XMLStore.setRowTag(insCtx,'tblPoint_of_Call');
rows := DBMS_XMLStore.insertXML(insCtx, xmlDoc);
-- Close the context
DBMS_XMLStore.closeContext(insCtx);
END;
System Information:
Oracle XE on windows XP. Everything is running on the same machine, sqlplus, Oracle Developer and the database are all on the same machine.
If you need any more information please let me know, and how to get the information you want. I am not a DBA so I don't know how to do a lot of things with oracle, but I do know that this SQL should be working.NLS...read up on them
on the same machine, yeah and...?
(1) c:\> set NLS_LANG=.....
(2) c:\> sqlplus
-- sqlplus has the active nls settings set from (1)
3) you now connect to a database
- this database has an NLS character settings that where set during using a spfile or pfile
- or, as in the case of the characterset, was defined and set once, during the creation of the database.
So...
Your NLS settings in (1) can be different from the ones that are active in the database (3).
Your NLS settings are / can be set on windows on 5 levels
In the registry under /software/oracle:
1) on HKEY_LOCAL_MACHINE
2) on HKEY LOCAL USER
In the envionment settings from windows under control panel, system, advanced, environment settings:
3) on system level
4) on user level
5) On command level via explicitly setting the parameter before starting the actual program
So in all, you can have the case where the NLS settings from sqlplus or Oracle Developer or the database are all different.
http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm -
URGENT HELP !!! ORA-31011: XML parsing failed
Hi,
Oracle 9.2.0.4
I've run into
ORA-31011: XML parsing failed ORA-19202: Error
occurred in XML processing LPX-00247: invalid
Document Type Declaration (DTD) Error at line 1
ORA-06512: at line 15
during updateXML operation under CLOB resource.
It seems to me, I can't update created resource
at all.
Is anybody knows the workaround ?
Please, help !!!
Thanks,
ViacheslavNo, it is an html file. For test purpose I've taken
welcome.html from ORACLE_HOME installation. Here are
my test:
declare
res0 bfile := BFILENAME('TEMPDIR', 'welcome.html');
res clob;
Amount INTEGER := 4000;
b BOOLEAN;
begin
Amount:=DBMS_LOB.getlength(res0);
DBMS_LOB.CREATETEMPORARY(res,TRUE);
DBMS_LOB.OPEN(res0, DBMS_LOB.LOB_READONLY);
DBMS_LOB.OPEN(res, DBMS_LOB.LOB_READWRITE);
DBMS_LOB.LOADFROMFILE(res, res0,Amount);
--DBMS_LOB.CLOSE(res0);
b:=DBMS_XDB.createresource
('/MyCONTENT/welcome.html',res);
commit;
end;
declare
res0 bfile := BFILENAME('TEMPDIR', 'welcome.html');
clob1 clob;
amt number := dbms_lob.lobmaxsize;
src_offset number := 1 ;
dst_offset number := 1 ;
lang_ctx number := dbms_lob.default_lang_ctx;
warning number;
Amount INTEGER := 4000;
begin
Amount:=DBMS_LOB.getlength(res0);
DBMS_LOB.CREATETEMPORARY(clob1 ,TRUE);
DBMS_LOB.OPEN(res0, DBMS_LOB.LOB_READONLY);
DBMS_LOB.OPEN(clob1 , DBMS_LOB.LOB_READWRITE);
-- DBMS_LOB.LOADFROMFILE(clob1 , res0,Amount);
dbms_lob.LOADCLOBFROMFILE(clob1 ,res0, amt, dst_offset,
src_offset,dbms_lob.default_csid, lang_ctx,warning) ;
UPDATE xdb.resource_view SET res=updatexml
(res,'/Resource/Contents/*',
WHERE any_path= '/MyCONTENT/welcome.html';
commit;
--dbms_lob.filecloseall() ;
end;
Maybe you are looking for
-
How to prevent summation only for some kf?
Hi all! I have a question concerning a problem we have in a query. I have a query that show, depending for project revision (witch refer to 0calmonth), trend of various key figures in the quarters I've planned in a specific project revision. For exam
-
Is there a limit of ipods per authorized computer??
I know thwre is a limit to the number of computers you can authorize to run iTunes. Is there a limit to the number of ipods I can connect to my computer or do I need to "deauthorize" the ones I don't use any more? This is my third ipod and now both k
-
App store search not working with IOS 6
Ive seen this problem here but Iv'e found no solutions. please advise. The search feature worked the 1st day, now it doesnt
-
How can I transfer a playlist I have created to a cd?
How can I transfer a playlist I have cated on my iPad to a cd for my wedding reception. I feel it's safer than leaving my iPad behind the bar.
-
Hi, Why we need CRM Middleware for Data Exchange with other servers, as we have SAP-XI Server which can do the same. Reg. Sunil.