Vous pouvez utiliser des énumérations pour le même.
Dans votre XSD pour le WSDL, vous allez définir l'élément comme ci-dessous: -
<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>
Dans l'exemple ci-dessus, vous dites qu'il ya un élément avec le nom valeurElément qui est constantType, constantType peut soit avoir valeur de A ou B qui sont de type String.
Lorsque vous parlez de SOAP, fondamentalement WSDL est un contrat que vous devrez partager avec votre utilisateur de service. Si un champ particulier ne peut avoir que deux valeurs, cela doit être mentionné dans votre contrat, c'est-à-dire WSDL.
En Java, vous pouvez utiliser Énumération pour définir cela comme ci-dessous: -
public enum ElementValue
{
A,
B;
}
Maintenant, vous pouvez accéder à ces valeurs avec ci-dessous la syntaxe: -
ElementValue.A
ElementValue.B
Hey Amit Merci pour votre réponse, en fait Je génère le wsdl à partir du code java, donc je voudrais savoir comment faire ce que vous avez mentionné avec jax ws annotations c'est mon vrai problème. Une idée? – Sara