[5483] WSDL schema defines fault 'element' incorrectly

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[5483] WSDL schema defines fault 'element' incorrectly

Arthur Ryman-2

Philippe,

John Kaputin reported this bug.[1] I reviewed it and agree. The spec was updated to include some tokens in the definition of the content for faults, but the schema wasn't.

We haven't discussed the process for maintainance. In this case, the schema was improperly updated when the spec changed so I propose to simply correct the schema. Failure to do so means that the schema reports that some valid WSDL documents are invalid, e.g. those with a token like #none, #any, #other for the content of a Fault.

[1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=5483

The schema is currently:

  <xs:complexType name="InterfaceFaultType" mixed="false">
   <xs:complexContent>
     <xs:extension base="wsdl:ExtensibleDocumentedType">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
       </xs:choice>
       <xs:attribute name="name" type="xs:NCName" use="required"/>
       <xs:attribute name="element" type="xs:QName" use="optional"/>
     </xs:extension>
   </xs:complexContent>
 </xs:complexType>

But it should be:

  <xs:complexType name="InterfaceFaultType" mixed="false">
   <xs:complexContent>
     <xs:extension base="wsdl:ExtensibleDocumentedType">
       <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
       </xs:choice>
       <xs:attribute name="name" type="xs:NCName" use="required"/>
       <xs:attribute name="element" type="wsdl:ElementReferenceType" use="optional"/>
     </xs:extension>
   </xs:complexContent>
 </xs:complexType>







Arthur Ryman, Technical Executive (IBM DE)
Project and Program Management, Rational Division

phone:      +1-905-413-3077, TL 313-3077
assistant: +1-905-413-3831, TL 313-3831
fax:            +1-905-413-4920, TL 313-4920
mobile:     +1-416-939-5063
WI
Reply | Threaded
Open this post in threaded view
|

Re: [5483] WSDL schema defines fault 'element' incorrectly

WI


I have tried out this new jar file with only partial success.

1 The generated WSDL now has only one schema which is good, but the
schema targetNamespace is not the same as the original WSDL.
2. The messages on the wire seem unchanged:

<soap:Envelope xmlns:soap="schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="www.w3.org/2001/XMLSchema"
xmlns:xsi="www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<makeCallResponse xmlns=" http://www.europecity.org ">
<status xmlns=" http://www.worldrecipe.org ">Hello Adrian
SmithDotNet</status>
</makeCallResponse>
</soap:Body>
</soap:Envelope>

Notice that the makeCallResponse element is still in the WSDL namespace
rather than the schema namespace. The sample .NET client still fails to
deserialise correctly.

I added a test for this to SVN and I can't reproduce it. Its really
weird that you're getting an NPE right there. At the very least it
doesn't have anything to do with the targetNamespace. I would check to
make sure that your client is generated using the latest WSDL.
If you're still having problems, please open a new issue. Also, a test
WSDL & test case would help greatly.

Regards,


Reply | Threaded
Open this post in threaded view
|

Re: [5483] WSDL schema defines fault 'element' incorrectly

Philippe Le Hegaret
In reply to this post by Arthur Ryman-2

All,

Since the change has been on the list for quite a while and no one
argued against it, I updated the schema to reflect the suggested change.

http://www.w3.org/2007/06/wsdl/wsdl20.xsd and its respective copy on
dev.w3.org are now fixed.

Philippe


On Wed, 2008-03-19 at 08:00 -0400, Arthur Ryman wrote:

>
> Philippe,
>
> John Kaputin reported this bug.[1] I reviewed it and agree. The spec
> was updated to include some tokens in the definition of the content
> for faults, but the schema wasn't.
>
> We haven't discussed the process for maintainance. In this case, the
> schema was improperly updated when the spec changed so I propose to
> simply correct the schema. Failure to do so means that the schema
> reports that some valid WSDL documents are invalid, e.g. those with a
> token like #none, #any, #other for the content of a Fault.
>
> [1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=5483 
>
> The schema is currently:
>
>   <xs:complexType name="InterfaceFaultType" mixed="false">
>    <xs:complexContent>
>      <xs:extension base="wsdl:ExtensibleDocumentedType">
>        <xs:choice minOccurs="0" maxOccurs="unbounded">
>          <xs:any namespace="##other" processContents="lax"
> minOccurs="1" maxOccurs="1"/>
>        </xs:choice>
>        <xs:attribute name="name" type="xs:NCName" use="required"/>
>        <xs:attribute name="element" type="xs:QName" use="optional"/>
>      </xs:extension>
>    </xs:complexContent>
>  </xs:complexType>
>
> But it should be:
>
>   <xs:complexType name="InterfaceFaultType" mixed="false">
>    <xs:complexContent>
>      <xs:extension base="wsdl:ExtensibleDocumentedType">
>        <xs:choice minOccurs="0" maxOccurs="unbounded">
>          <xs:any namespace="##other" processContents="lax"
> minOccurs="1" maxOccurs="1"/>
>        </xs:choice>
>        <xs:attribute name="name" type="xs:NCName" use="required"/>
>        <xs:attribute name="element" type="wsdl:ElementReferenceType"
> use="optional"/>
>      </xs:extension>
>    </xs:complexContent>
>  </xs:complexType>
>
>
>
>
>
>
> ______________________________________________________________________
>
>
> Arthur Ryman, Technical Executive (IBM DE)
> Project and Program Management, Rational Division
>
> phone:      +1-905-413-3077, TL 313-3077
> assistant: +1-905-413-3831, TL 313-3831
> fax:            +1-905-413-4920, TL 313-4920
> mobile:     +1-416-939-5063


Reply | Threaded
Open this post in threaded view
|

Re: [5483] WSDL schema defines fault 'element' incorrectly

Arthur Ryman-2

Philippe,

Thx for the update.

Wodenites/John - please verify the fix.

Arthur Ryman, Technical Executive (IBM DE)
Project and Program Management, Rational Division

phone:      +1-905-413-3077, TL 313-3077
assistant: +1-905-413-3831, TL 313-3831
fax:            +1-905-413-4920, TL 313-4920
mobile:     +1-416-939-5063



Philippe Le Hegaret <[hidden email]>
Sent by: [hidden email]

03/31/2008 03:19 PM

To
Arthur Ryman/Toronto/IBM@IBMCA
cc
[hidden email], [hidden email]
Subject
Re: [5483] WSDL schema defines fault 'element' incorrectly






All,

Since the change has been on the list for quite a while and no one
argued against it, I updated the schema to reflect the suggested change.

http://www.w3.org/2007/06/wsdl/wsdl20.xsd and its respective copy on
dev.w3.org are now fixed.

Philippe


On Wed, 2008-03-19 at 08:00 -0400, Arthur Ryman wrote:
>
> Philippe,
>
> John Kaputin reported this bug.[1] I reviewed it and agree. The spec
> was updated to include some tokens in the definition of the content
> for faults, but the schema wasn't.
>
> We haven't discussed the process for maintainance. In this case, the
> schema was improperly updated when the spec changed so I propose to
> simply correct the schema. Failure to do so means that the schema
> reports that some valid WSDL documents are invalid, e.g. those with a
> token like #none, #any, #other for the content of a Fault.
>
> [1] http://www.w3.org/Bugs/Public/show_bug.cgi?id=5483
>
> The schema is currently:
>
>   <xs:complexType name="InterfaceFaultType" mixed="false">
>    <xs:complexContent>
>      <xs:extension base="wsdl:ExtensibleDocumentedType">
>        <xs:choice minOccurs="0" maxOccurs="unbounded">
>          <xs:any namespace="##other" processContents="lax"
> minOccurs="1" maxOccurs="1"/>
>        </xs:choice>
>        <xs:attribute name="name" type="xs:NCName" use="required"/>
>        <xs:attribute name="element" type="xs:QName" use="optional"/>
>      </xs:extension>
>    </xs:complexContent>
>  </xs:complexType>
>
> But it should be:
>
>   <xs:complexType name="InterfaceFaultType" mixed="false">
>    <xs:complexContent>
>      <xs:extension base="wsdl:ExtensibleDocumentedType">
>        <xs:choice minOccurs="0" maxOccurs="unbounded">
>          <xs:any namespace="##other" processContents="lax"
> minOccurs="1" maxOccurs="1"/>
>        </xs:choice>
>        <xs:attribute name="name" type="xs:NCName" use="required"/>
>        <xs:attribute name="element" type="wsdl:ElementReferenceType"
> use="optional"/>
>      </xs:extension>
>    </xs:complexContent>
>  </xs:complexType>
>
>
>
>
>
>
> ______________________________________________________________________
>
>
> Arthur Ryman, Technical Executive (IBM DE)
> Project and Program Management, Rational Division
>
> phone:      +1-905-413-3077, TL 313-3077
> assistant: +1-905-413-3831, TL 313-3831
> fax:            +1-905-413-4920, TL 313-4920
> mobile:     +1-416-939-5063