× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I second Scott's idea.

The other alternative would be to not use XML. Instead, use stored
procedures with regular parameters. Biggest downside to that is
there's no good way to pass for instance an array of detail records.

XML is nice for exchanging data outside your company, or at least with
applications outside your control. But if you control both sides, XML
adds some overhead that's usually not needed. However, since you're
dealing with two platforms and two languages it may be worthwhile.

Charles

On Tue, Dec 1, 2009 at 1:56 PM, Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx> wrote:
I would have the .NET invoke the RPG via HTTP and send the XML document
as POST data.  Have the RPG return it's response the same way.  No need
to put the XML data into a file at all.

In the event that you need to use XML-INTO or XML-SAX and are on V5R4 or
earlier (and therefore have to cope with the annoying 64k limit) I would
have the RPG temporarily throw the XML data into a user space, and parse
the user space.  (Make sure you set unused data in the user space to
blanks.)

User spaces can be parsed by XML-INTO/XML-SAX via the doc=file and
giving a filename of /QSYS.LIB/QTEMP.LIB/WHATEVER.USRSPC -- and user
spaces are very fast.


Mike wrote:
I am at a loss here of a best-practice to pass XML back and forth with RPG
and C#.NET. Originally, I was going to use a temp physical file in QTEMP,
but it seems to be that there should be a better way. The temp file has one
line of the document in one record of the file. To me this seems to add a
lot of extra work that really shouldn't be needed. I am looking for a
two-way communication.

One thought is to pass a 32000 char parameter back and forth, but is that
really a good idea? What happens if the document happens to be bigger than
that? I don't think I would hit that limit so maybe I would be fine?

What about creating a temp IFS file? That seems like more work than is
needed as well.

What are your thoughts?

Obviously, both the RPG and C# programs will be reading and processing the
XML document.

I have x-post this on systemidotnet as well to get both sides. I hope David
doesn't mind.

--
Mike Wills
http://mikewills.info
P: (507) 933-0880 | Skype: koldark

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.