Most likely related to the following -- Axis makes assumptions that minOccurs 
unequivocally means that it can put xsi:nil on the wire: 
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20109

-----Original Message-----
From: Cheng Po-wen [mailto:[EMAIL PROTECTED]
Sent: Monday, September 08, 2003 8:55 PM
To: [EMAIL PROTECTED]
Cc: ·¨²Qªâ; §õ¨ô«T
Subject: Schema checking problem about xsi:nil="true" & minOccurs="0" 


Hi, all:

I tried check the validation of request sent to Amazon,
the following is the request that Axis client sent to Amazon:
(I've turned off the multiref and send_xsi, and
  added  xsi:type="ns1:KeywordRequest" to KeywordSearchRequest element)

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

 <soapenv:Body>
  <ns1:KeywordSearchRequest
       soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";

       xmlns:ns1="http://soap.amazon.com";>
   <KeywordSearchRequest xsi:type="ns1:KeywordRequest">
    <keyword>dog</keyword>
    <page>1</page>
    <mode>book</mode>
    <tag>webservices-30</tag>
    <type>lite</type>
    <devtag>your-dev-tag</devtag>
    <sort xsi:nil="true"/>
    <locale xsi:nil="true"/>
    <price xsi:nil="true"/>
   </KeywordSearchRequest>
  </ns1:KeywordSearchRequest>
 </soapenv:Body>
</soapenv:Envelope>


and the following is the schema for KeywordRequest:

<xsd:complexType name="KeywordRequest">
  <xsd:all>
    <xsd:element name="keyword" type="xsd:string"/>
    <xsd:element name="page" type="xsd:string"/>
    <xsd:element name="mode" type="xsd:string"/>
    <xsd:element name="tag" type="xsd:string"/>
    <xsd:element name="type" type="xsd:string"/>
    <xsd:element name="devtag" type="xsd:string"/>
    <xsd:element name="sort" type="xsd:string" minOccurs="0"/>
    <xsd:element name="locale" type="xsd:string" minOccurs="0"/>
    <xsd:element name="price" type="xsd:string" minOccurs="0"/>
  </xsd:all>
</xsd:complexType>

I use Xerces 2.5 and its XNI(Grammer pool or something...) to check the
validation,
and it tells me the following error message:

[Error] KeywordSearchRequestSample_gen_no_multiRef.xml:16:27:
cvc-elt.3.1: Attribute
 'http://www.w3.org/2001/XMLSchema-instance,nil' must not appear on
element
'sort', because the {nillable} property of 'sort' is false.


Does anyone know how to solve this problem?

THANX

Sting

Reply via email to