|
Hello all,
This has me tearing my hair out on a weekend... Boo.
I'm attempting to parse some XML. I'm trying to use the new(er) opcodes as opposed to the old string methods. I thought it was/is the most straightforward you can imagine...
I'm trying to pull the 'true' value out of the LoginResponse attribute.
Here's the XML... (Yes, it's MAPICS)
<?xml version='1.0' encoding='UTF-8'?>
<System-Link version='1.0' hostVersion='1.0'>
<LoginResponse actionSucceeded='true'>
<SessionHandle value='-3369e2f8:1445eea302e:-799f'/>
</LoginResponse>
<Response sessionHandle='-3369e2f8:1445eea302e:-799f' workHandle='-3369e2f8:1445eea302e:-799e' systemTimestamp='2014-02-28 20:54:41.668' systemTimeZoneOffset='-6:00'>
<UpdateResponse name='updateObject_ItemRevision' actionSucceeded='true'/>
</Response>
</System-Link>
Here's my code... (variable "rpns" is my xml)
D* Local fields
D retField S N inz(*off)
D LoginResponse DS qualified
D action...
D Succeeded 10
/FREE
// was the login request successful?
xml-into LoginResponse
%xml(rpns:'path=System-Link/LoginResponse +
case=any doc=string');
if LoginResponse.actionSucceeded='true';
retField = *on;
ENDIF;
I'm getting this error...
The XML document does not match the RPG variable; reason code 1.
Cause . . . . . : While parsing an XML document, the parser found that the
XML document does not correspond to RPG variable loginresponse and the
options do not allow for this. The reason code is 1. The exact subfield for
which the error was detected is loginresponse. The options are
"path=System-Link/LoginResponse case=any doc=string". The XML document name
is *N; *N indicates that the XML document was not an external file.
In the process of trial and error, I've also received reason code 4 and 5.
What am I doing wrong?!? I've messed with the path, the options, the DS. It's making me crazy.
Thank you for your help.
Christopher Wyatt
As an Amazon Associate we earn from qualifying purchases.
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.