Contact Us Today!

CRM data integration with XML files – A recent experience

At Beringer, a common request is to develop data integrations for various CRM implementations.  Sometimes the data source may be a file, such as an XML file.  In order for an application to properly read data from an XML file, it needs to know the XML Schema.  An XML Schema defines the structure of that XML document. If you've viewed XML documents before, you understand that the listed data attributes can change from one element to another even if they contain the same type of data.  For example, let's say you have an element called Contacts with phone numbers within your XML document.  If Contact A has a phone number, you might see that within its own data attribute.  In addition, it may have multiple phones each listed within different nodes:

XMLSchemaSandra

However, if Contact B has no phone provided, the phone attribute may not appear at all within the Contact element as seen in this example:

XMLSchemaCujo

The XML Schema helps your application understand that the phone attribute exists within the XML structure, but that it is null for some Contacts. For more details on the purpose of an XML Schema, please refer to http://www.w3schools.com/schema/.

Recently, I was asked to troubleshoot an issue with one of our integrations that read data from an XML document. The integration itself had been working well for several months, but it was now producing the following error:
XmlSchemaBlogNew

In addition, our field mappings were producing errors, indicating that the attributes were not valid.  The application we were using was Scribe Insight, but the errors would be similar regardless of what tool was used to read the XML file.  After contacting the vendor of the XML file, we discovered that the URL to the XML schema had recently changed.  To resolve the error, we opened the Scribe dts via the workbench and changed the URL of the schema:

XMLSchemaBlogImg2

We also changed the URL within the XML document itself:

XMLSchemaBlogImg3

We then resumed the integration and it worked.  I want to point out that with Scribe Insight, the Schema URL needs to be correct in both places as mentioned.  By correcting it in only one area, the integration may appear to succeed, but not work the way you expect.  In our case, we saw that the integration succeeded after changing the Schema URL within the dts, but no new records were inserted into CRM.  After noticing that the Schema URL was also incorrect within the XML file itself and changing it, the integration was able to insert the data into CRM.

I hope this experience will help others out there understand the impact of the Schema in an integration utilizing XML files.  For questions, please contact Beringer.


theProfessor

theProfessor

Rob is the CTO of Beringer Technology Group, and focuses his efforts on software development, cloud engineering, team mentoring and strategic technical direction. Rob has worked with Beringer since 2005, and has influenced every department from Development, Security, Implementation, Support and Sales. Rob graduated with his MBA from Rowan University in 2012, earned his Bachelors of Computer Science in 1997, and is current with several Microsoft technical certifications. Rob is very active, and loves to mountain bike, weight train, cook and hike with his dog pack.