2014-01-24 27 views
0

我正在爲我的服務創建xsd文件,並且想從中生成類。但是想法突出顯示了複雜類型以及何時生成類 - 發生[ERROR] underfined元素聲明StepResponse。我看了例子herehere,但在我的場合它沒有工作。這裏是代碼:無法從xsd爲對象列表生成類

<?xml version="1.0" encoding="UTF-8"?> 
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://com/tictocsoa/ws" elementFormDefault="qualified"> 

    <element name="StepRequest" type="GameStep"/> 
    <element name="StepResponse" type="GameStep"/> 
    <element name="StepsResponse" type="GameSteps"/> 

    <complexType name="GameStep"> 
     <sequence> 
      <element name="gameId" type="int"/> 
      <element name="num" type="int"/> 
      <element name="cell" type="int"/> 
     </sequence> 
    </complexType> 

    <complexType name="GameSteps"> 
     <sequence maxOccurs="unbounded" minOccurs="0"> 
      <element name="steps" type="GameStep"/> 
     </sequence> 
    </complexType> 

</schema> 

爲什麼不能找到這種類型?我只想生成2個類:第一個爲一個對象,另一個爲列表(分別爲getById和getAll方法)。另一個問題 - 也許它會更好地爲兩者創建一個課程?

P.S.與JAXB-RI-2.2.7

回答

1

產生你錯過了你的命名空間perfix,嘗試類似的東西:

<?xml version="1.0" encoding="UTF-8"?> 
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://com/tictocsoa/ws" 
    elementFormDefault="qualified" 
    xmlns:tts="http://com/tictocsoa/ws"> 

<element name="StepRequest" type="tts:GameStep"/> 
<element name="StepResponse" type="tts:GameStep"/> 
<element name="StepsResponse" type="tts:GameSteps"/> 

<complexType name="GameStep"> 
    <sequence> 
     <element name="gameId" type="int"/> 
     <element name="num" type="int"/> 
     <element name="cell" type="int"/> 
    </sequence> 
</complexType> 

<complexType name="GameSteps"> 
    <sequence maxOccurs="unbounded" minOccurs="0"> 
     <element name="steps" type="tts:GameStep"/> 
    </sequence> 
</complexType> 

</schema>