2017-01-10 60 views
0

我想問我如何指定SOAP Web服務中的JAX-WS,這樣,如果我想要一個字段填寫值A或值B。任何其他值都會返回錯誤。JAX中的SOAP WS枚舉參數WS

我想到了Java中的枚舉,但仍然沒有弄清楚如何實現它。

有什麼建議嗎?先謝謝你。

回答

0

您可以使用相同的枚舉。

在您的XSD的WSDL,你會定義元素象下面這樣: -

<xsd:complexType name="Value"> 
    <xsd:sequence> 
     <xsd:element name="elementValue" type="constantType" /> 
    </xsd:sequence> 
</xsd:complexType> 


<xsd:simpleType name="constantType"> 
    <xsd:restriction base="xsd:string"> 
    <xsd:enumeration value="A" /> 
    <xsd:enumeration value="B" /> 
    </xsd:restriction> 
</xsd:simpleType> 

在上面的例子中,你是說有一個與名字elementValue元素是constantType的,constantType可以有A或B類型的String類型的值。

當您談論SOAP時,基本上WSDL是您需要與服務用戶共享的合約。如果一個特定的字段只能有兩個值,那麼這應該在你的合同中提到,即WSDL。

在Java中,你可以使用枚舉來定義這個象下面這樣: -

public enum ElementValue 
{ 
    A, 
    B; 
} 

現在你可以用下面的語法訪問這些值: -

ElementValue.A 
ElementValue.B 
+0

嘿阿米特謝謝您的答覆,其實我從java代碼生成wsdl,所以我想知道如何做到你提到的與jax ws註釋這是我真正的問題。任何想法? – Sara