Member Login

Username
Password
Forget Password
New Sign Up
Search Forum

Buy Support
Incidents

If you can't find your answer in the FREE PUBLIC QDeveloper Forum, require URGENT Priority Support, or you need to send us private or confidential information:

Click Here
If you can't login and post questions or you are having trouble viewing forum posts:
Click Here
Callback
Support

If you live in USA, UK, Canada, Australia or New Zealand, you can leave us details on your question and request us to call you back and discuss them with you personally  (charges apply).

Click Here
 
Buy Support
Incidents
If you can't find your answer in the FREE PUBLIC QDeveloper Forum, require URGENT Priority Support, or you need to send us private or confidential information:
Click Here

Forum : "Error parsing complete XML return string" with ColdFusionSearch Forum

Forum Home > QODBC - ODBC Driver for QuickBooks > QODBC v7 Forum

 New Topic 
 
 Post Reply 
[1]  
 "Error parsing complete XML return string" with ColdFusion 
 Author   Message 
  daveline 
  
 Group: Members 
 Posts: 4 
 Joined: 2007-07-21 
 Profile
 Posted : 2007-07-24 23:50:01
I am currently testing the limits of QuickBooks, QODBC, & ColdFusion.
When adding a batch of records to the Customer table I get the following exception in ColdFusion after about 2100 rows of data. 

" [Macromedia][SequeLink JDBC Driver][ODBC Socket][QODBC] Error parsing complete XML return string."

It doesn't matter whether the I try to do the import in one request or many, it always seems to happen around 2100 rows.  Once I receive the error message, I can no longer insert any records into QuickBooks, until I restart the "ColdFusion 8 ODBC Server" service.


Error on the ColdFusion side

" [Macromedia][SequeLink JDBC Driver][ODBC Socket][QODBC] Error parsing complete XML return string."

Error in QODBC

2007-07-24 08:57:31 QODBC Ver:  7.00.00.214 *********************************************************************************************************************
IsAService: Unknown
LoadXML Error = 80004005

2007-07-24 08:57:31 QODBC Ver:  7.00.00.214 *********************************************************************************************************************
IsAService: False
SQL Statement: INSERT INTO Customer (ParentRefListID, Name) VALUES ('4A0000-1174485979','CWD08-F84DBD8B5056961119BC21814970C653')
Error parsing complete XML return string (7)
Input XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?qbxml version="6.0"?>
<QBXML>
    <QBXMLMsgsRq onError = "continueOnError" responseData = "includeAll">
        <CustomerAddRq requestID = "1">
            <CustomerAdd>
                <Name>CWD08-F84DBD8B5056961119BC21814970C653</Name>
                <ParentRef>
                    <ListID>4A0000-1174485979</ListID>
                </ParentRef>
            </CustomerAdd>
        </CustomerAddRq>
    </QBXMLMsgsRq>
</QBXML>
Output XML:
<?xml version="1.0" ?>
<QBXML>
    <QBXMLMsgsRs>
        <CustomerAddRs requestID="1" statusCode="0" statusSeverity="Info" statusMessage="Status OK">
            <CustomerRet>
                <ListID>80007FDB-1185281851</ListID>
                <TimeCreated>2007-07-24T08:57:31-05:00</TimeCreated>
                <TimeModified>2007-07-24T08:57:31-05:00</TimeModified>
                <EditSequence>1185281851</EditSequence>
                <Name>CWD08-F84DBD8B5056961119BC21814970C653</Name>
                <FullName>CSX:CWD08-F84DBD8B5056961119BC21814970C653</FullName>
                <IsActive>true</IsActive>
                <ParentRef>
                    <ListID>4A0000-1174485979</ListID>
                    <FullName>CSX</FullName>
                </ParentRef>
                <Sublevel>1</Sublevel>
                <Balance>0.00</Balance>
                <TotalBalance>0.00</TotalBalance>
                <JobStatus>None</JobStatus>
            </CustomerRet>
        </CustomerAddRs>
    </QBXMLMsgsRs>
</QBXML>


SDK Message (One success, then no real indication of failure)
20070724.085730    I    188    QBSDKProcessRequest    Application named 'FLEXquarters QODBC' finishing requests (process 6668), ret = 0.
20070724.085730    I    188    QBSDKProcessRequest    Application named 'FLEXquarters QODBC' starting requests (process 6668).
20070724.085731    I    188    SpecVersion    Current version of qbXML in use: 6.0
20070724.085731    I    188    QBSDKMsgSetHandler    ADD: Customer Job
20070724.085731    I    188    QBSDKMsgSetHandler    Request 1 completed successfully.
20070724.085731    I    188    MsgSetHandler    Finished.
20070724.085731    I    188    QBSDKProcessRequest    Application named 'FLEXquarters QODBC' finishing requests (process 6668), ret = 0.
20070724.085731    I    6668    RequestProcessor    Connection closed by app named 'FLEXquarters QODBC'
20070724.085731    I    6668    RequestProcessor    ========== Ended Connection ==========

My Environment
ColdFusion MX 
7,0,2,142559  & ColdFusion "Scorpio"  8,0,0,171647  (I tried both)
QODBC 7.00.00.214 Licensed Web Edition
QuickBooks Enterprise Solutions V7 US

ColdFusion Code

Here is my ColdFusion Code. It basically attempts to add 3000 "Jobs" to the system underneath the "Customer" 4A0000-1174485979

<cfloop index="i" from="1" to="3000" >
    <cfoutput>
    <cfset JobNum = "JOB08-" & Replace(CreateUUID(),"-","","all") >
    <cfquery datasource="qbs" name="ds" >
        INSERT INTO Customer (ParentRefListID, Name)
        VALUES ('4A0000-1174485979','#JobNum#')
    </cfquery>
    #i# #JobNum# <br><cfflush>
    </cfoutput>
</cfloop>



Any assistance with debugging this issues would be greatly appreciated. 


~Alan 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2007-07-25 08:39:42

Can you continue to add more than 2,100 jobs to this customer (ListID: '4A0000-1174485979') once you restart the ColdFusion service?

 

  Top 
  daveline 
  
 Group: Members 
 Posts: 4 
 Joined: 2007-07-21 
 Profile
 Posted : 2007-07-27 03:51:06
I did a quick test,

When I restarted the "ColdFusion 8 Application Server" service I was able to insert an additional 6 rows before I received the "XML return string" error again.

When I restarted the "ColdFusion 8 ODBC Server" service it actually timed out while trying stop the service, but after I was able to stop & start this service , ColdFusion was able to insert another 2156 records
 

  Top 
  Tom 
  6c3c1_sdk-qodbc.gif
 Group: Administrator 
 Posts: 5510 
 Joined: 2006-02-17 
 Profile
 Posted : 2007-07-27 08:25:30

Based on previous errors of this type, it sounds like this is a memory issue. Not the memory of the computer, but rather the memory allocated to ColdFusion and IIS. Unexplained "Error parsing complete XML return string" errors tend to happen on web servers that have been running for a while and rebooting the server fixes it.

What you are doing is a little unusual, we normally have customers adding 6000 or more invoice lines a day, and no one really creates 3000 jobs at a time.

 

  Top 
  daveline 
  
 Group: Members 
 Posts: 4 
 Joined: 2007-07-21 
 Profile
 Posted : 2007-07-27 11:07:56
I currently have ColdFusion's "max heap" at the 1.8GB maximum, but I'll take a look, and see if there is anything else I can do to tweak the memory settings. 

I am also currently using the built in ColdFusion web server, and NOT IIS.

Typically we might only add a few jobs everyday, but I was actually trying to import some 20,000 historical jobs.  My previous code example was a simplified import used for testing & debugging purposes. 

  Top 
  daveline 
  
 Group: Members 
 Posts: 4 
 Joined: 2007-07-21 
 Profile
 Posted : 2007-07-28 03:01:59
Not sure if this is related buy after I get the "Error parsing complete XML return string" error, but currently if i run my script again i get this error from coldfusion. 

[Macromedia][SequeLink JDBC Driver][ODBC Socket][QODBC] Incorrectly built XML from Insert Start.
 

  Top 
 New Topic 
 
 Post Reply 
[1]  

Jump to