Aurion XML error

Eddie Kirkman 8 years ago in UNIFYBroker/Aurion updated by anonymous 7 years ago 5

Setting up the Aurion connector, sending as the query ID the query name and the XML_FILE_PATH. The import all fails with error

Change detection engine import all items for connector Test failed with reason Expecting '?', '*', or '+'. Line 4, position 77.. Duration: 00:02:02.5742785

in the log we get:

Import all entities from connector failed.
Import all entities from connector AurionUser failed with reason Expecting '?', '*', or '+'. Line 4, position 77.. Duration: 00:02:00.8921187
Error details:
System.Xml.XmlException: Expecting '?', '*', or '+'. Line 4, position 77.

That suggests to me that there is a problem with the XML, but since we are using the XML_FILE_PATH just referring to the xml file name and the query is just writing to the file with no directory, there is no physical file to look at (this is how the Aurion guys have configured it). They did export me a file to a directory. Line 4 is:

<!ELEMENT AQT_Output (First_Name, ... Preferred_Name_+_Surname, ...)>

and position 77 is just after the + in the middle of a composite full name field.

I can see no reason why "+" would cause issues as it is not one of the 5 XML reserved characters(<,>,&,",'), but I am asking the Aurion consultant to remove that field from the query.

Any ideas why it would be an issue?

Under review

As mentioned yesterday, the xml file path shouldn't be sent by the connector, that's handled on the Aurion side. How does the consultants query compare with the sample one that was provided? I couldn't find any other mentions of this error message.

Also, I'm not sure if that query response is correct, but as I don't have another sample it's hard for me to say.

The XML file they provided has the same form as the sample XML file in the Aurion API technical Guide (p 42). The query that is given in the samples shows the query "file" tab with List, XML and a specific path\filename to an xml file. The original query the Aurion product consultant set up was of that form, but referred to a file location on a mapped drive (dynamically mapped to local C: drive during a citrix session), so that worked for the consultant while they were logged in but failed when we requested it over the webservice. They were not keen to save the data locally on the server (not completely sure why) but their technical consultant advised that if the query were configured with just the file name in the path to xml field and the query ID had the queryname,RETURN_XML=T,XML_FILE_PATH=name.xml then that would work. I had to remove the RETURN_XML setting because we already put that in, but with the XML_FILE_PATH in the Identity Broker Query ID field, it appears to be working - up to the point where the xml is seen as malformed.

I am trying to get the Aurion product consultant to remove that field from the query. I am also trying to get the customer to let me create the query in their test environment.

Okay, had thought the xml file name caused problems in the past.

If you can get a dump of the xml file I should be able to see what happens when it's parsed. But removing the bad field (or copying a sample query) would be a good workaround in the interim.

Searching answer

Hi Eddie, thanks for that. Turns out it's not actually valid xml. I ran it through a few different validators (Notepad++, http://www.w3schools.com/xml/xml_validator.asp and http://www.xmlvalidation.com/) and they all had issues:

* Notepad++ - XML Parsing error at line 4: Start tag expected, '<' not found

* w3schools - error on line 4 at column 77: ContentDecl : ',' '|' or ')' expected

* xlmvalidation - Line4 char77 A ')' is required in the declaration of element type "AQT_Output". (After the +).