Nathan,

in my XMLREADER I have solved this complex reading in a rater simple way ...

dynamic XPATH !

When reading all "FirstName" elements by this code

when xmlGetNode = 'FirstName';
dsp = xmlGetXPath(2:0);
dsply dsp;

The XMLREADER returns:

/PersonInfo/FirstName
/OtherNames/FirstName
/TimeElement/FirstName
/SpanGap/FirstName
/Creator/FirstName
/TimeElement/FirstName
/SpanGap/FirstName

but it could also be coded like

when xmlGetXPath(2:0) = '/PersonInfo/FirstName';
.....
when xmlGetXPath(2:0) ) '/OtherNames/FirstName';
.....
etc.

The subprocedure xmlGetXPath either returns the full XPATH with no
parameters
passed or it returns a XPATH string constructed by up to any of 5
backlevels of the
XPATH.

This makes it possible to read a XML document that may or may not be
"packed" in
in a SOAP envelope with the same code.


On Mon, Jan 30, 2012 at 8:12 PM, Nathan Andelin <nandelin@xxxxxxxxx> wrote:

Okay, so web service client tooling may or may not stand up to complex
WSDL files. What about standing up to complex XML response documents? Most
of the examples posted on the Internet are simple interfaces
like Fahrenheit to Celsius conversions. What happens when XML responses are
more hierarchical?

http://www.radile.com/rdweb/temp/xml.html


That's a link to a small sampling of XML documents which are part of the
School Interoperability Framework (SIF). The SIF specification has been
growing like a cancer over a period of years. Now it's up to 178 document
formats.

A couple things concern me about complying with the specification.

First, the data models are not normalized. You find the same XML elements
defined in many different documents. The irony is that these documents are
meant to share data between disparate systems. Why make that more difficult
by duplicating data elements in multiple documents? Why not normalize your
XML documents like you'd normalize your database?

Second, the documents contain hierarchical structures. How well will
client tooling handle them?

Third, what if you find data elements that don't have clear meaning? What
is this field? What does it stand for? How do we use it? And it's not like
a WSDL file is going to clarify the questions, other than perhaps indicate
the data type of the element.

-Nathan






----- Original Message -----
From: Jon Paris <jon.paris@xxxxxxxxxxxxxx>
To: web400@xxxxxxxxxxxx
Cc:
Sent: Monday, January 30, 2012 9:35 AM
Subject: Re: [WEB400] Web Services War Stories


On Jan 30, 2012, at 11:20 AM, web400-request@xxxxxxxxxxxx wrote:

You've got to give someone credit for the amount of code that must have
gone into PHP SoapClient to simplify the interface as they did. I wonder
how well it works with complex WSDL files ... <snip>

I've actually got one it can't handle Nathan. There is an issue when there
are duplicate definitions used. I'm not sure of the exact issue but it
relates to the fact that in the wsdl I have there are two includes
referenced that contain the custom data type definitions. Problem arises
because one of them includes and references element definitions in the
other. SoapUI handles it and ignores the duplicate entries. The PHP parser
craps out and can't handle it. The problem can apparently be cured by
judicious editing of the wsdl - but I'm not savvy enough with wsdls to be
able to sort it out (I have tried but ...). Originally vendor support staff
told me that could could give me instructions on how to make the change.
Now they are refusing and claim that none of their staff would ever have
told me that <sigh>

Jon Paris

www.partner400.com
www.SystemiDeveloper.com
--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.