hi Sihem When the schema tag did not contain the "elementFormDefault="qualified"" attribute, It is same as defining "elementFormDefault="unqualified"". The attribute "elementFormDefault="unqualified"" indicates "whether or not locally declared elements and attributes must be unqualified".Please look at the following sample explanation. Consider the synapse sample number 7 .In this sample , we get the first child of the SOAP body as the validation source (Xml) and it looks like as follow.
<m0:getQuote xmlns:m0="http://services.samples/xsd"> <m0:request> <m0:symbol>IBM</m0:symbol> </m0:request> </m0:getQuote> If we use the schema as follows , then the validation will be success . <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://services.samples/xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://services.samples/xsd"> <xs:element name="getQuote"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="symbol" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> if we remove the attribute elementFormDefault="qualified" or set it as elementFormDefault="unqualified", then validation will be failed , because validation source (stock quote request – the first child of SOAP BODY) contains the *qualified* local elements. If we use attribute elementFormDefault="unqualified" in our schema , then to success the validation, the request message should be as follows. <m0:getQuote xmlns:m0="http://services.samples/xsd"> <request> <symbol>IBM</symbol> </request> </m0:getQuote> But both of following requests also will be failed.(contains one or more qualified element ) <m0:getQuote xmlns:m0="http://services.samples/xsd"> <m0:request> <symbol>IBM<symbol> </m0:request> </m0:getQuote> <m0:getQuote xmlns:m0="http://services.samples/xsd"> <request> <m0:symbol>IBM</m0:symbol> </request> </m0:getQuote> Therefore If you have removed the elementFormDefault="qualified" attribute, then validation must be failed if the source Xml (the first child of SOAP Body) contains qualified elements. It is the correct behavior . thanks Indika On Nov 28, 2007 2:01 PM, Sihem <[EMAIL PROTECTED]> wrote: > Hi Asankha, > thanks a lot for your answer. It is now clear for me. And you are right, > the remaining exception was thrown because the secure2 endpoint does not > exist. > To finish, I would like to describe you a strange behaviour of synapse > when I tested the validate schema sample. Indeed I used an xsd file where > the schema tag did not contain the "elementFormDefault="qualified"" > attribute. As a consequence, the validation did not work. I added this > attribute and it worked. I thought it was an optional element. > Sihem > > > --------------------------------- > Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! > Mail >
