Re: Validation with encodingStyle set fails

Simon Fell <[email protected]> Sat, 8 Feb 2003 12:01:19 -0800
Newsgroups gmane.comp.windows.devel.soap.general
Organization pocketsoap.com
Message-ID <[email protected]>
does your payload schema allow for the soap-enc:encodingStyle
attribute on the Payload element ? You need to specifically specify
this in the payload schema (either directly, or via a namespace
wildcard)

FWIW, i think trying to validate section 5 encoded message is a road
to insanity. too many of the section 5ism's don't mix well with XSD.

Cheers
Simon
www.pocketsoap.com

On Sat, 8 Feb 2003 19:08:11 +0000, in soap you wrote:

>Dear All,
>
>I am having a problem validating a SOAP message. Validation of SOAP headers
>and the payload are fine EXCEPT when I include 'encodingStyle' attribute on
>the immediate child element of the SOAP Body. For example, I load the
>schemas I want to use into a schema cache, in this case the schemas are :-
>
>-  envelope.xsd (the SOAP Envelope schema - attached)
>-  the schema for the Authentication header namespace
>-  the schema for the Payload namespace
>
>Everything validates correctly, and if I deliberately invalidate any part of
>the message the validator spots it :-
>
><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>  <soap:Header>
>    <ns1:Authentication xmlns:ns1="some-uri" soap:mustUnderstand="1">
>      <ns1:UserID>userid</ns1:UserID>
>      <ns1:Pwd>password</nugas:Pwd>
>    </ns1:Authentication>
>  </soap:Header>
>  <soap:Body>
>    <ns2:Payload xmlns:ns2="urn:Payload">
>      ...
>    </ns2:Payload>
>  </soap:Body>
></soap:Envelope>
>
>However, as soon as I add the soap:encoding attribute :
>
><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>  <soap:Header>
>    <ns1:Authentication xmlns:ns1="some-uri" soap:mustUnderstand="1">
>      <ns1:UserID>userid</ns1:UserID>
>      <ns1:Pwd>password</nugas:Pwd>
>    </ns1:Authentication>
>  </soap:Header>
>  <soap:Body>
>    <ns2:Payload xmlns:ns2="urn:Payload"
>         soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>      ...
>    </ns2:Payload>
>  </soap:Body>
></soap:Envelope>
>
>This validation error occurs :
>
>'The attribute '{http://schemas.xmlsoap.org/soap/envelope/}encodingStyle' on
>this element is not defined in the DTD/Schema.'
>
>When I step through the process (I am using a SAX parser) the error actually
>occurs on the SOAP Body element, that is, not even the element that contains
>the encodingStyle attribute ??
>
>Has anyone got a clue why this is and how I can fix it ??
>
>(Note: If I remove the SOAP envelope schema from the schema cache SAX
>reports a validation error because there is no schema for the root node of
>the document)
>
>
>Regards
>
>Fraser.
>
>_________________________________________________________________
>It's fast, it's easy and it's free. Get MSN Messenger today!
>http://messenger.msn.co.uk
>
>You can read messages from the SOAP archive, unsubscribe from SOAP, or subscribe to other
>DevelopMentor lists at http://discuss.develop.com.

You can read messages from the SOAP archive, unsubscribe from SOAP, or subscribe to other
DevelopMentor lists at http://discuss.develop.com.