2012-07-16 29 views
0

我有一個使用默認值的WSDL文件,我想生成使用CXF創建具有這些默認值的方法的ObjectFactory類。例如,我曾這樣定義如何用使用默認值的方法生成ObjectFactory類?

<xsd:complexType name="Smoker"> 
      <xsd:sequence>   
        <xsd:element default="0" minOccurs="0" name="numCigarettesPerDay" nillable="false" type="xsd:integer"/>   
        <xsd:element default="0" minOccurs="0" name="numYearsSmoking" nillable="false" type="xsd:integer"/> 
      </xsd:sequence> 
    </xsd:complexType> 

一個對象,我想這樣的

public Smoker createSmoker() { 
      Smoker smoker = new Smoker(); 
      smoker.setNumCigarettesPerDay(0); 
      smoker.setNumYearsSmoking(0); 
      return smoker; 
    } 

而是這一個

public Smoker createSmoker() { 
      return new Smoker(); 
    } 

回答

1

的CXF XJC默認值插件的方法提供了一個XJC插件,用於更新生成的bean,以返回架構中定義的默認值,用於實例中未設置的字段。

有鏈接是你能找到你需要做的更多信息:

希望這有助於。

+0

我已經使用過CXF XJC插件,但是這個插件只爲每個類生成代碼,而不是爲'ObjectFactory'類生成代碼。例如,使用CXF XJC插件,我會得到以下兩種方法: public Integer getNumCigarettesPerDay(){ if(numCigarettesPerDay == 0){ return 0; } return numCigarettesPerDay; } public Integer getNumYearsSmoking(){ if(numYearsSmoking == 0){ return 0; } return numYearsSmoking; } – Gorayni 2012-07-17 14:33:26