|
Thi is just a partial. Between the operationResult tags is about 250,000
bytes of data so must extract to use your HTTP_XML_Parse_Stmf.
This is more for my information that anything else. Because I am at V6R1 I
could declare a huge variable and do an XM-INTO to extract it. My
understanding was that the handler would break it down into smaller pieces
but it didn't do it.
One other thing that surprised the hell out of me was that XML-Into
converted all the < , > and " without me saying anything. That
was
wild. Don't know how it knew to do it. .
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:ServiceResponse xmlns:ns2="http://stem.startrak.com/gw/">
<status>0</status>
<sessionId>77ef1268:12fc5c6e72f:-7c84</sessionId>
<operationResult><?xml version="1.0"
encoding="UTF-8" standalone="yes"?>
<ns2:StMessage xmlns:ns2="
http://ramp.startrak.com/RAMP.1.0.0/">
<status>0</status>
<messageTypes>REEFER_STATUS</messageTypes>
<messageCount>100</messageCount>
<queueStatus>MORE_DATA</queueStatus>
<ReeferStatusMessage>
<asset>
<assetName>ENGZ30301</assetName>
<assetState>1</assetState>
<config>
<microConfig>
<microManufacturer>1</microManufacturer>
<microModel>3</microModel>
<microType>1</microType>
<compartmentCount>1</compartmentCount>
</microConfig>
<rtConfig>
<unitSerialNumber>GCTH001884</unitSerialNumber>
<unitFirmwareRelease>W0096</unitFirmwareRelease>
<unitFirmwareVersion>3.60</unitFirmwareVersion>
</rtConfig>
</config>
</asset>
<reeferStatus>
<alerts>
<batteryAlert>0</batteryAlert>
<fuelAlert>0</fuelAlert>
<pmAlert>1</pmAlert>
<temp1Alert>0</temp1Alert>
<temp2Alert>0</temp2Alert>
<temp3Alert>0</temp3Alert>
</alerts>
<ambientTemp>82.4</ambientTemp>
<batteryVoltage>13.6</batteryVoltage>
<compartmentStatus>
<dischargeTemp>48.2</dischargeTemp>
On Fri, May 6, 2011 at 9:21 AM, Scott Klement <rpg400-l@xxxxxxxxxxxxxxxx
wrote:
> hi Alan,
break
Can you explain better? I'm at a complete loss as to what you are
asking or trying to accomplish. It would help greatly if we could see
an excerpt of the XML data!
As coded, I'm expecting your XML document to look like this:
<S:Envelope>
<S:Body>
<ns2:ServiceResponds>
<operationResult>
<InBlocks>...up to 32k of data with no tags...</InBlocks>
<InBlocks>...up to 32k of data with no tags...</InBlocks>
<InBlocks>...up to 32k of data with no tags...</InBlocks>
(repeated 35 times)
</operationResult>
</ns2:ServiceResponds>
</S:Body>
</S:Envelope>
That seems to be what you've coded for, but you say it doesn't work,
which makes me think your XML document doesn't actually look like that.
On 5/5/2011 5:23 PM, Alan Campin wrote:
I am having to extract a very large block of xml(250,000 bytes) fromwithin
an XML document envelope.
In looking at the documentation, it seems that XML-INTO using a handler
could handle this.
It seemed to indicate that if I did the following
p ResultHandler...
p b
d pi
d InOutCommArea...
d LikeDs(TD_CommArea)
d InBlocks...
d 32767a Varying
d Dim(35)
d Const
d InNumberOfElements...
d 10u 0 Value
/Free
Options = 'doc=file
path=S:Envelope/S:Body/ns2:ServiceResponds/operationResult';
XML-Into %Handler(ResultHandler : EmbeddComm)
%Xml(SoapFile: Options);
/End-Free
The documentation seems to indicate that it would take the data and
itloaded.
up into 32767 byte blocks and I would get the number of elements
listbytes
That is not what happened. Instead I got one element loaded with 32767
of data and that was it.
This gets back that problem of processing large blocks of data in RPG.
Is there a trick to do this?
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
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.
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 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.