Using Xerces 2.2.1, why is it that this one validates correctly against the SOAP 1.1 schema
( Schema definition available at http://schemas.xmlsoap.org/soap/envelope/ ):


<?xml version="1.0"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/";>
<env:Header>
<mm7:TransactionID xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2"; env:mustUnderstand="1">
vas00324-dlvr
</mm7:TransactionID>
</env:Header>
<env:Body>
<env:Fault>
<faultcode>env:Client</faultcode>
<faultstring>Client error</faultstring>
<faultactor></faultactor>
<detail><Sample/></detail>
</env:Fault>
</env:Body>
</env:Envelope>


What I mean is that ... shouldn't faultcore, faultstring, and faultactor have the "env" prefix to indicate that they belong to the SOAP namespace?

If I do add the env prefix to faultcore, faultstring, and faultactor ... Xerces then complains that:

Error: URI=null Line=10: cvc-complex-type.2.4.a: Invalid content starting with element 'env:faultcode'. The content must match '(("":faultcode),("":faultstring),("":faultactor){0-1},("":detail){0-1})'.

Is my understanding of namespaces again wrong?

Here is the definition for Fault from the SOAP schema:

<xs:element name="Fault" type="tns:Fault" />
<xs:complexType name="Fault" final="extension" >
<xs:annotation>
<xs:documentation>
Fault reporting structure
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="faultcode" type="xs:QName" />
<xs:element name="faultstring" type="xs:string" />
<xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />
<xs:element name="detail" type="tns:detail" minOccurs="0" /> </xs:sequence>
</xs:complexType>










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



Reply via email to