Hello

Here are the schema that I try to use.

TruckTrace.xsd, TruckTraceSoap.xsd, TruckTraceRequest.xsd,
TruckTraceResponse.xsd.

TruckTrace.xsd

<xs:schema targetNamespace="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:response="http://foo/TruckTrace";
xmlns:request="http://foo/TruckTrace"; elementFormDefault="qualified"
attributeFormDefault="qualified">
        <!-- <xs:import namespace="http://foo/TruckTrace";
schemaLocation="TruckTraceRequest.xsd"/>
        <xs:import namespace="http://foo/TruckTrace";
schemaLocation="TruckTraceResponse.xsd"/> -->
        <xs:import namespace="http://foo/TruckTrace";
schemaLocation="TruckTraceSoap.xsd"/>
        <xs:element name="Envelope">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element name="Header"
type="SOAP-ENV:HeaderType" form="qualified" minOccurs="0"/>
                                <xs:element name="Body"
form="qualified">
                                        <xs:complexType>
                                                <xs:choice>
                                                        <xs:element
ref="request:truckEnqui"/>
                                                        <xs:element
ref="response:truckResponse"/>
                                                        <xs:element
name="Fault" type="SOAP-ENV:FaultType"/>
                                                </xs:choice>
                                        </xs:complexType>
                                </xs:element>
                        </xs:sequence>
                        <xs:attribute name="encodingStyle"
use="optional" fixed="http://schemas.xmlsoap.org/soap/encoding/"/>
                </xs:complexType>
        </xs:element>
        <xs:complexType name="HeaderType">
                <xs:sequence>
                        <xs:any namespace="##other"
processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:anyAttribute namespace="##other"
processContents="lax"/>
        </xs:complexType>
        <xs:complexType name="FaultType">
                <xs:sequence>
                        <xs:element name="faultcode" type="xs:QName"/>
                        <xs:element name="faultstring"
type="xs:string"/>
                        <xs:element name="faultfactor" type="xs:anyURI"
minOccurs="0"/>
                        <xs:element name="detail" minOccurs="0">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:any
namespace="##any" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
                                        </xs:sequence>
                                        <xs:anyAttribute
namespace="##any" processContents="lax"/>
                                </xs:complexType>
                        </xs:element>
                </xs:sequence>
        </xs:complexType>
</xs:schema>

TruckTraceSoap.xsd

<xs:schema targetNamespace="http://foo/TruckTrace";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
        <xs:include schemaLocation="TruckTraceRequest.xsd"/>
        <xs:include schemaLocation="TruckTraceResponse.xsd"/>
</xs:schema>

TruckTraceRequest.xsd

<xs:schema targetNamespace="http://foo/TruckTrace";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns="http://foo/TruckTrace"; elementFormDefault="unqualified"
attributeFormDefault="unqualified">
        <xs:element name="truckEnqui" type="TruckEnquiType"/>
        ........................
</xs:schema>


Here is the value for my parser property
"http://apache.org/xml/properties/schema/external-schemaLocation";

Object value = "http://schemas.xmlsoap.org/soap/envelope/ "+ directory
+"TruckTrace.xsd";

When receiving request like the following, all is OK for my parser :

<soap-env:Envelope
xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding";>
        <soap-env:Body>
                <ns0:truckEnqui xmlns:ns0="http://foo/TruckTrace";>
                        <sClientAccountNo>F101012E</sClientAccountNo>
        
<dDepartureDate>2003-02-12T00:00:00</dDepartureDate>
                        <sSearchWithinFiveDays>Y</sSearchWithinFiveDays>
                        <sRoute/>
                        <sRegistrationNo/>
                </ns0:truckEnqui>
        </soap-env:Body>
</soap-env:Envelope>

but maybe not according to W3C specs....

The request like the following is more annoying :

<soap-env:Envelope
xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding";
xsi:schemaLocation="http://foo/TruckTrace TruckTrace.xsd">
        <soap-env:Body>
                <ns0:truckEnqui xmlns:ns0="http://foo/TruckTrace";>
                        <sClientAccountNo>F101012E</sClientAccountNo>
        
<dDepartureDate>2003-02-12T00:00:00</dDepartureDate>
                        <sSearchWithinFiveDays>Y</sSearchWithinFiveDays>
                        <sRoute/>
                        <sRegistrationNo/>
                </ns0:truckEnqui>
        </soap-env:Body>
</soap-env:Envelope>

because then we got this error :

src-import.3.1: The namespace attribute 'http://foo/TruckTrace' of an
<import> element information item must be identical to the
targetNamespace attribute 'http://schemas.xmlsoap.org/soap/envelope/' of
the imported document.


And when changing the parser property to 

Object value = "http://foo/TruckTrace "+ directory +"TruckTrace.xsd";

then I got 

cvc-elt.1: Cannot find the declaration of element 'soap-env:Envelope'.

Am I wrong in the settings of the parser, Do I have to modify the
request, Do the Schema are OK? I am a bit lost. Does something exist
somewhere to help answering those questions a part W3C specs?

Thanx

Mederick


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

Reply via email to