Hello mates,
In the input method (which is part of my business service), I guess that I've found a bug on the OpenStream method, that belongs to %XML.Reader.
Basically the pInput is a XML which contains a special character (single left quote >>> ‘ ).
Here is the piece of code:
Method OnProcessInput(pInput As %Stream, Output pOutput As %RegisteredObject, ByRef pHint As %String) As %Status
{
// Create an instance of %XML.Reader
Set xread = ##class(%XML.Reader).%New()
Set xread.IgnoreNull=1
// Begin processing of the file
d pInput.Rewind()
s sc= xread.OpenStream(pInput)
if $$$ISERR(sc)
{
set fs=##class(%Stream.FileCharacter).%New()
set fs.Filename="c:\TEMP\OnProcessInput00.xml"
set fs.TranslateTable = "UTF8"
do fs.Write($$$StatusDisplayString(sc))
set tSC=fs.%Save()
}
Here I had the file created and the error message written in it (ERROR #6301: SAX XML Parser Error: invalid character 0x18 while processing Anonymous Stream at line 1 offset 4627).
So I presume that
s sc= xread.OpenStream(pInput)
Is erroring, because the stream contains a special character.
What do you guys think?
Thanks in advance