function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
sfadmin1.2531195399833853E12sfadmin1.2531195399833853E12 

Debugging failed SF3

I'm still getting an error when I try to sync with SF3 (see postscript).  Rather than changing the SF3 application, it seems that it would be easier for me to change my own data.  But I don't have enough information to determine which data contains the offending character that triggers the error and failure.

 

Any ideas?

 

For instance:

 1. Can I turn on a debugging message to show the XML hierarchy at the time of error?  If so, I may be able to determine the direction of the error (SF->Mac or Mac->SF), and the context (i.e. Contact or Task), and the particulars (e.g. the Contact name, Account name, or Task subject).

 2. Can I capture the (possibly incomplete) XML for analysis in a text editor?

 3. Can I enable more informative status messages so that I can see what passed before the error message?

 4. Can I specify a one-way-only merge to determine if one direction fails, thus implicating the other direction?

 5. Can I specify a subset to merge (say all Contacts with last name beginning with A-M (then A-F, G-M, then A-C, C-F, G-J, K-M, etc... ) until I can do a binary search for the bad contact?

 6. ... anything else that turns this "black box" (a tool with only an external interface) into a "white box" (a tool with an external interface, but also some internally visible probe points).

 

I'm currently stuck in an all-or-nothing situation, leaving me unable to use SF3.  I'd really like to clean up my data so that I can sync.

 

Thanks for any insights that may help me get on the "all" side of "all-or-nothing".

 

Thanks,

Michael

 

P.S.  The error messsage is: "An invalid XML character (Unicode: 0x19) was found in the element content of the document."

 

SuperfellSuperfell

The function finishChangeType in BaseMapper makes the call to salesforce, see the calls to sforce create or sforce update, stick a breakpoint there, you'll be able to see the set of changes being sent to salesforce, and the exception being thrown when the bad data is sent. 

 

SF3 does some logging, and Sync Services provides options for additional logging (see the Sync Services API docs from Apple), although the bundling of changes from SyncServices can make it hard to spot the specific record.