Nobody going to take a stab at answering this?

Pete

Pete Hendry wrote:

I am using xerces to validate soap messages. The following message is failing validation:

<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:ns0="http://schemas.xmlsoap.org/ws/2004/03/rm";
xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/07/utility";>
<env:Header>
<ns0:Sequence xsi:type="ns0:SequenceType">
<ns1:Identifier xsi:type="ns1:AttributedURI">http://com.capeclear/uuid/46635529-1b63-4818-1949-7e7d66703425</ns1:Identifier>


<ns0:MessageNumber xsi:type="xsd:integer">1</ns0:MessageNumber>
<ns0:LastMessage xsi:type="xsd:string"/>
</ns0:Sequence>
</env:Header>
<env:Body>
<ns3:Echo xmlns:ns3="http://demo.capeclear.com/ASyncEcho.xsd1";>
<Identifier>4</Identifier>
<Message>abcdef</Message>
</ns3:Echo>
</env:Body>
</env:Envelope>


with the error

cvc-elt.4.2: Cannot resolve 'ns0:SequenceType' to a type definition for element 'ns0:Sequence'.

The soap-env schema defines <env:Header> as

<xs:complexType name="Header" >
<xs:sequence>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax" />
</xs:complexType>



As you can see this has processContents="lax". Should the contents of ns0:Sequence not be skipped if xerces cannot locate a schema component to validate against? Does the fact it contains an xsi:type affect this behaviour? I don't want to require all headers have associated (or at least available) schemas and can't control whether xsi:type is present on each header (I assume it should still skip even with xsi:type present otherwise lax would be fairly meaningless).


Or is this a bug in xerces? I'm using Xerces-J 2.6.2 with JDK 1.4.2_06.

Pete


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to