2013-04-10 66 views
0

我有這樣一個的getter/setter類中的方法:WSDL生成與字符串限制

public class milestone { 
    String milestoneType; 
    public String getMilestoneType() 
     { 
      return milestoneType; 
     } 
    public void setMilestoneType(String milestoneType) 
     {  
      this.milestoneType = milestoneType; 
     } 
    } 

,併爲與WebLogic Server的幫助下這樣生成的WSDL:

<xs:complexType name="MileStone"> 
    <xs:sequence> 
    <xs:element minOccurs="1" name="MilestoneType" nillable="true" type="xs:string" /> 
    </xs:sequence> 
    </xs:complexType> 

現在我需要根據兩個值限制里程碑類型。我的意思是這隻允許2個值,需要限制2個值以外的值。

我該如何更改getter/setter類?請幫忙。

由於提前其中有隻要允許,像這樣兩個值

回答

1

使用enum

public enum MilestoneType { 
    PRECOMMIT, 
    POSTCOMMIT 
} 

接下來,你需要改變你的Milestone類,而不是使用這種類型的String,像這樣:

public class Milestone { 
    private MilestoneType milestoneType; 
    public MilestoneType getMilestoneType() { 
     return milestoneType; 
    } 
    public void setMilestoneType(MilestoneType milestoneType) {  
     this.milestoneType = milestoneType; 
    } 
} 
+0

這是正確的嗎? – user2248187 2013-04-10 09:11:51

+0

public enum milestoneType {PRECOMMIT,POSTCOMMIT} public String getMilestoneType(){ \t \t return milestoneType; \t} \t public void setMilestoneType(String milestoneType){ \t \t this.milestoneType = milestoneType; \t} WSDL仍然沒有得到chnaged .. – user2248187 2013-04-10 09:12:06

+1

那是因爲你的枚舉是從看到WSDL點看不見的,你需要修改的方法獲取/設置一個milestoneType不是一個字符串。 – 2013-04-10 09:26:03