की घोषणा नहीं मिल पा रहा है मुझे किसी दिए गए xsd के साथ ऑब्जेक्ट को सत्यापित करने का प्रयास करने में कोई समस्या है। कक्षाएं xsd से उत्पन्न की गई हैं।JAXB - SAXParseException तत्व
SchemaFactory factory = SchemaFactory
.newInstance("http://www.w3.org/2001/XMLSchema");
Schema schema = factory.newSchema(getClass().getResource("/xsd/test.xsd"));
JAXBContext context = JAXBContext.newInstance(aClass);
Unmarshaller u = context.createUnmarshaller();
u.setSchema(schema);
Object anObject = u.unmarshal(new StreamSource(new StringReader(
MESSAGE)), aClass);
यहाँ अपवाद संदेश है
[org.xml.sax.SAXParseException: CVC-elt.1:। तत्व की घोषणा 'ACCESREFUSE' नहीं मिला]
यहाँ XSD है :
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="./include/CJCommon.xsd"/>
<xs:element name="ACCESREFUSE">
<xs:complexType>
<xs:sequence maxOccurs="1" minOccurs="1">
<!-- Entete -->
<xs:element maxOccurs="1" minOccurs="1" ref="IDOper"/>
<xs:element maxOccurs="1" minOccurs="1" ref="DateEvt"/>
<xs:element maxOccurs="1" minOccurs="1" ref="IDEvt"/>
<xs:element maxOccurs="1" minOccurs="1" ref="IDJoueur"/>
<xs:element maxOccurs="1" minOccurs="1" ref="HashJoueur"/>
<xs:element maxOccurs="1" minOccurs="1" ref="IDSession"/>
<xs:element maxOccurs="1" minOccurs="1" ref="IPJoueur"/>
<xs:element maxOccurs="1" minOccurs="0" ref="IDCoffre"/>
<!-- Corps -->
<xs:element maxOccurs="1" minOccurs="1" ref="TypAg"/>
<xs:element maxOccurs="1" minOccurs="0" name="CauseRefus" type="string-1024"/>
<xs:element maxOccurs="1" minOccurs="0" name="TypeRefus">
<xs:simpleType>
<xs:restriction base="string-1024">
<xs:enumeration value="DelaiIdentite"/>
<xs:enumeration value="RejetIdentite"/>
<xs:enumeration value="Interdit"/>
<xs:enumeration value="AutoInterdit"/>
<xs:enumeration value="OpVerrouille"/>
<xs:enumeration value="Verrouille"/>
<xs:enumeration value="Cloture"/>
<xs:enumeration value="Autre"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
तत्व ACCESREFUSE एक्सएमएल की जड़ है।
एक्सएमएल:
<ACCESREFUSE>
<dateEvt>Tue Oct 15 11:45:48 CEST 2013</dateEvt>
<hashJoueur>0000000000000000000000000000000000000000</hashJoueur>
<typAg>JC</typAg>
<causeRefus>Interdit</causeRefus>
<typeRefus>Interdiction Temporaire</typeRefus>
<idjoueur>81.252.190.129</idjoueur>
<idoper>002</idoper>
<idsession>301090</idsession>
<idevt>0</idevt>
<ipjoueur/>
<idcoffre/>
</ACCESREFUSE>
किसी भी विचार? धन्यवाद
अच्छा, यह अजीब बात है क्योंकि सत्यापन त्रुटि से पहले काम करता था। केवल जब सब कुछ ठीक है, तो मुझे मूल तत्व के साथ त्रुटि है। मैंने इनपुटस्ट्रीम के साथ प्रयास किया है लेकिन अपवाद से पहले परिणाम – BkSouX
है, एक्सएमएल सही नहीं था जब सत्यापन काम किया गया था। उदाहरण के लिए उसने मुझे फ़ील्ड बदलने के लिए कहा ... – BkSouX
हाँ यह काम कर रहा है धन्यवाद। समस्या सीजेकॉमोन में थी :) आपकी मदद के लिए धन्यवाद! – BkSouX