XML with binary node as result to Webservice

ftbookumftbookum Member Posts: 10
In addition of the topic viewtopic.php?f=23&t=30549&hilit=readtext+xml+tag
i try to return the XML as a BIGTEXT var so i use it in a webservice.

due to limitation of NAV i loop trough the create XML file to create/fill the result var

strFileNameOut := 'c:\temp\MyXML\' + FORMAT(TODAY,0,'<Year4><Month><day>') + FORMAT(TIME,0,'<hours24><Minutes><seconds>') + '.xml';
XMLDoc.save(strFileNameOut);

FileIn.TEXTMODE(FALSE);
FileIn.OPEN(strFileNameOut);
FileIn.CREATEINSTREAM(instrmFile);

WHILE NOT instrmFile.EOS DO BEGIN
instrmFile.READTEXT(bintext,512); // bintext is a TEXT(512) var
result.ADDTEXT(bintext);
END;

A simple result.ADDTEXT(XMLDoc.text) does not function (1024 buffer read limitation) ](*,) .

If the code hits the binary node in the XMLDOC Nav crashes with internal error 3 in module 9
instrmFile.READ also doesn't function -> the stream cannot find a zero-terminated sting

any ideas?
thanks



2011-01-18 This Issue is solved.
there are 2 way to add add BigText Var's to a xml output:
- return a XML port in a Codeunit that act as a webservice. Inside the XMLport a BIGTEXT var is filled with Binary data <var>.ADDTEXT(<binarydata>)
The datasource of the node is then filled with the <var> data (<datasource>.ADDTEXT(<var>) )

It also could be done in the codeunit itself. But testing could only be done in the RTC or directly as result in an app that call the posted codeUnit as Navision webservice.
Sign In or Register to comment.