mistake in SOAP envelope XMLSchema

"Alessandro Pira" <[email protected]> Mon, 12 Nov 2007 10:44:25 +0000
Newsgroups gmane.text.xml.distributed
Message-ID <[email protected]>



This is a multi-part message in MIME format.

------_=_NextPart_001_01C82518.EF6047B3
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi all,
=20
I am writing to this mailing list since I think I found a mistake in the
official xml schema for SOAP envelopes:
=20
http://schemas.xmlsoap.org/soap/envelope/
=20
The error involves the encodingStyle attribute which (as stated in
examples in the note and also in [1]) seems possible to use in the
Envelope element.
But the official XMLSchema (http://schemas.xmlsoap.org/soap/envelope/)
forbids this since it states:
=20
[...]
<xs:complexType name=3D"Envelope">
 <xs:sequence>
   <xs:element ref=3D"tns:Header" minOccurs=3D"0"/>
   <xs:element ref=3D"tns:Body" minOccurs=3D"1"/>
   <xs:any namespace=3D"##other" minOccurs=3D"0" maxOccurs=3D"unbounded"
processContents=3D"lax"/>
 </xs:sequence>
 <xs:anyAttribute namespace=3D"##other" processContents=3D"lax"/>
</xs:complexType>
[...]
=20
I think it should say namespace=3D"##any" in the xs:anyAttribute element
(or explicitly define the encodingStyle attribute).
=20
I wrote you because the company I work for publishes some webservices
for our customers, and we use 3rd party libraries for managing SOAP
communication. Now some of our customers for some reason are accusing us
to be not compliant to the official SOAP protocol, which I think is not
true, but even W3C XMLSchema validator shows that the Envelope we use is
not valid because of the "encodingStyle" attribute.
=20
Can you please check if it's possible to correct the XMLSchema?
=20
Thank you in advance for your time,
=20
Alessandro Pira
=20
=20
[1] : the SOAP 1.2 part 0 Primer in Chapter 6 (Changes Between SOAP 1.1
and SOAP 1.2) states:
=20
"SOAP 1.2 does not allow the env:encodingStyle attribute to appear on
the SOAP env:Envelope, whereas SOAP 1.1 allows it to appear on any
element. SOAP 1.2 specifies specific elements where this attribute may
be used."
=20
=20

------_=_NextPart_001_01C82518.EF6047B3
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.2800.1597" name=3DGENERATOR></HEAD>
<BODY>
<DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana =
size=3D2>Hi<SPAN=20
class=3D887233910-12112007> all</SPAN>,</FONT></SPAN></DIV>
<DIV><FONT face=3DVerdana size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2>I am =

writing&nbsp;<SPAN class=3D887233910-12112007>to this mailing=20
list</SPAN>&nbsp;since I think I found a mistake in the&nbsp;official =
xml schema=20
for SOAP envelopes:</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2><A=20
title=3Dhttp://schemas.xmlsoap.org/soap/envelope/=20
href=3D"http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap=
.org/soap/envelope/</A></FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2>The =
error involves=20
the encodingStyle attribute which (as stated in examples in the note and =
also in=20
[1]) seems possible to use in the Envelope element.</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2>But =
the official=20
XMLSchema (<SPAN class=3D730570216-09112007><A=20
title=3Dhttp://schemas.xmlsoap.org/soap/envelope/=20
href=3D"http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap=
.org/soap/envelope/</A></SPAN>)&nbsp;forbids=20
this since it states:</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2>[...]</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana =
size=3D2>&lt;xs:complexType=20
name=3D"Envelope"&gt;<BR>&nbsp;&lt;xs:sequence&gt;<BR>&nbsp;&nbsp; =
&lt;xs:element=20
ref=3D"tns:Header" =
minOccurs=3D"0"/&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;xs:element=20
ref=3D"tns:Body" minOccurs=3D"1"/&gt;<BR>&nbsp;&nbsp; &lt;xs:any =
namespace=3D"##other"=20
minOccurs=3D"0" maxOccurs=3D"unbounded"=20
processContents=3D"lax"/&gt;<BR>&nbsp;&lt;/xs:sequence&gt;<BR>&nbsp;&lt;x=
s:anyAttribute=20
<FONT color=3D#ff0000>namespace=3D"##other"</FONT>=20
processContents=3D"lax"/&gt;<BR>&lt;/xs:complexType&gt;</FONT></SPAN></DI=
V>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2>[...]</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2>I =
think it=20
should&nbsp;say namespace=3D"##any" in the xs:anyAttribute element<SPAN=20
class=3D887233910-12112007> (or explicitly define the encodingStyle=20
attribute)</SPAN>.</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2>I =
wrote you=20
because&nbsp;the company I work for publishes some webservices for our=20
customers, and we use 3rd party libraries for managing SOAP =
communication. Now=20
some of our customers for some reason are accusing us to be not =
compliant to the=20
official SOAP protocol, which I think is not true, but even W3C =
XMLSchema=20
validator shows that the Envelope we use is not valid because of the=20
"encodingStyle" attribute.</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana size=3D2>Can =
you please=20
check if it's possible to correct the XMLSchema?</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana =
size=3D2>Thank you in=20
advance for your time</FONT></SPAN><SPAN =
class=3D730570216-09112007><FONT=20
face=3DVerdana size=3D2>,</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana =
size=3D2>Alessandro=20
Pira</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><FONT face=3DVerdana><FONT size=3D2><SPAN =
class=3D730570216-09112007>[1] : the=20
SOAP 1.2 part 0 Primer in Chapter 6 (Changes Between SOAP 1.1 and SOAP=20
1.2</SPAN><SPAN=20
class=3D730570216-09112007>)&nbsp;states:</SPAN></FONT></FONT></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana =
size=3D2>"SOAP 1.2 does not=20
allow the env:encodingStyle attribute to appear on the SOAP =
env:Envelope,=20
whereas SOAP 1.1 allows it to appear on any element. SOAP 1.2 specifies =
specific=20
elements where this attribute may be used."</FONT></SPAN></DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D730570216-09112007><FONT face=3DVerdana=20
size=3D2></FONT></SPAN>&nbsp;</DIV></DIV></BODY></HTML>

------_=_NextPart_001_01C82518.EF6047B3--