XML with binary node as result to Webservice

ftbookum
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.
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.
0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions