2012-04-11 6 views
1

Meine Java RESTful Web Service (Frühjahr 3.1.1 und 2.5.2 CXF) druckt auf jede Anfrage nach stdoutdiesem Zusammenhang bekannt

SystemId Unknown; Line #-1; Column #-1; class X nor any of its super class is known to this context. 

manchmal mehrmals. Beachten Sie, dass keine Ausnahme ausgelöst wird oder dass keine Meldungen in Bezug auf den Fehler protokolliert werden. Die betreffende Klasse wird vom maven-jaxb2-plugin aus einer XSD generiert, die auch andere Definitionen enthält. Das Element verwendet, um den Datentyp zu definieren, ist

<xsd:element name="x"> 
    <xsd:complexType> 
    <xsd:choice> 
     <xsd:element name="y" type="y" minOccurs="0" maxOccurs="unbounded"/> 
    </xsd:choice> 
    <xsd:attribute name="count" type="xsd:long" use="optional"/> 
    </xsd:complexType> 
</xsd:element> 

ich mehrere XSDs, die ich auf diese Weise kompilieren, noch Klasse X ist die immer nur mit der Fehlermeldung zugeordnet ist. Die generierte Klasse hat die Anmerkungen

@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(name = "", propOrder = { 
    "y" 
}) 
@XmlRootElement(name = "x") 

Wie behebe ich dieses Problem und werde die Fehlermeldung loswerden?

+0

Wie konstruieren Sie JAXB Kontext? Stellen Sie Ihre CXF-Konfiguration bereit. Im schlimmsten Fall können Sie ['extraClass'] (http://mail-archives.apache.org/mod_mbox/cxf-users/200809.mbox/%[email protected]L.COM%3E) verwenden. 'org.apache.cxf.jaxb.JAXBDataBinding'] (http://cxf.apache.org/docs/jaxb.html). –

Antwort

0

Ich fand die Lösung für mein Problem.

Bevor ich mein XML entmarshale, habe ich es durch eine XSL-Transformation durchgeführt. Ich habe dem Prozessor den falschen Zielkontext gegeben. Kein Wunder, dass die Klasse dem Kontext nicht bekannt war!