Hi Glavassevich.
Here is the  head of the xsd..
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
        xmlns:tns="http://com.cyber.space./services";            
        targetNamespace="http://com.cyber.space./services"; 
        elementFormDefault="qualified"

 and a huge schema followed.

Step.1: I used this  xsd to generate  JAXB classes. 

Step2. Used jaxb2marshaller from spring.oxm,
 <bean id="marshaller"   
class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
                <property name="contextPath" value="com.cyberspace.service"/>
                <property name="schema" value="classpath:pathtoXsd"/>
        </bean>

so in my application , i have reference to marshaller object.so can use like
this.

 request ( the jaxb request object populated with valid values as per the
schema)
 result - output -- outgoing xml.

 marshaller.marshall(requsest, result);

Here comes the problem..The out going xml is like this..

<?xml version="1.0" encoding="UTF-8" ?>
<Request xmlns="http://com.cyber.space./services";>
<RequestService>123</RequestService>
  etec etc etc.. son on..

This xml when converted to soap message and sent over to webservice its
accepted as valid request and response is back. But all it happens when i
dont validate it against the schema that i have.

Look at the :
<property name="schema" value="classpath:pathtoXsd"/> set as a property to
jaxb2 marshaller.
This makes sure that the xml generated out the jaxb object after marshall
process is valid against the XSD schema. Here it fails for some reason.
If the dont ask the marshaller to validate( removing the schema property ),
then the xml is fine able to proceed with next steps of sending the
successfull VALID SOAP REQUEST and response is back. But if do a validation
by setting the schema property with value as path to xsd.

The error is :
Caused by: org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.2: ' ' is
not a valid value of list type 'null'.
        at
com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXParseException(Util.java:109)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:104)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)


Is it a problem with namespace.? If i assume that the resulting xml out of
the marshall process when validated against the XSD is failing for some
missing data( business data), then the request itself would not be sent as
soap requst. 
But the problem is not that with data in the xml. its some thing going on
with the strict validation the validator is doing.

Please suggest.


-- 
View this message in context: 
http://www.nabble.com/xmlschema-validator-..ParsingException.-tp17405419p17428156.html
Sent from the Xerces - J - Users mailing list archive at Nabble.com.


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

Reply via email to