In your xsd there are no occurence attributes specified
, so the elements have default occurrence attributes,
minoccurs=1 and maxoccurs = 1
In other words, they are always required once. Are you sure this is the
exact
schema which defines your response element?
~Peeyush
On Tue, Mar 4, 2008 at 3:05 AM, Todd [EMAIL PROTECTED] wrote:
Hello,
When I'm decoding a call to a Soap Service, I'm finding that if the
soap response is missing a few elements, then the rest of the itmes
don't get parsed from a sequence. Is this expected behavior?
Say, I have a XSD element declared like so:
complexType name=CommunicationType
sequence
element name=id type=long/
element name=version type=int/
element name=name type=string/
element name=description type=string/
element name=recordCount type=int/
...
/sequence
/complexType
If the Soap Response looks similar to:
Communication xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/;
name
EmailCommunicationTemplate
/name
description
email communication template
/description
recordCount
0
/recordCount
...
/Communcation
I'm finding that all the properties on the Object returned to my
result handler aren't populated with anything because as you see,
there was no id, or version, returned from the Soap Response.
However, in the Schema, these aren't declared required or anything.
When I add an id into the Soap Response, then the object being
returned will have a valid ID set, but nothing else. I'm assuming
that the default SoapDecoder (XMLDecoder) maps properties up until the
first one that is missing.
Is flex Soap Services implying that for a Sequence type, every node
must be returned, even if nil? Is this a standard? Any known work
arounds? (I searched JIRA and just found a ton of things not related
to me.)
(I'm also getting tired of mapping XML off the wire to object by hand.)
Thanks,
Todd