2012-04-11 275 views
1

我的Java RESTful Web服務(春季3.1.1和2.5.2 CXF)打印到stdout在每次請求知道這種情況下

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

有時多次。請注意,沒有發生異常或者沒有關於錯誤的消息記錄。有問題的類由包含其他定義的XSD的maven-jaxb2插件生成。用於定義數據類型的元素是

<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> 

我有幾個的XSD我編譯方式,但類X是永遠只與錯誤消息相關聯。生成的類有註釋

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

如何解決這個問題,擺脫錯誤消息的?

+0

你如何構建JAXB上下文?提供您的CXF配置。在更糟糕的情況下,您可以使用['extraClass'](http://mail-archives.apache.org/mod_mbox/cxf-users/200809.mbox/%[email protected]COM%3E)屬性[ 'org.apache.cxf.jaxb.JAXBDataBinding'](http://cxf.apache.org/docs/jaxb.html)。 – 2012-04-14 15:54:49

回答

0

我找到了解決我的問題。

在我編組XML之前,我通過XSL轉換來運行它。我給了處理器錯誤的目標上下文。難怪這個班級不爲背景所知!