2012-09-14 4 views
0

J'utilise apache-cxf pour webservice, la réponse générée ne contient pas l'élément (disons de type java.lang.String) dont la valeur est nul. suivant est le xsd:Je ne reçois pas l'élément dans la réponse du service Web pour quelle valeur dans "null"

<xs:complexType name="venueDetails"> 
    <xs:sequence> 
     <xs:element minOccurs="0" name="contactDetails" type="xs:string"/> 
     <xs:element minOccurs="0" name="date" type="xs:string"/> 
     <xs:element minOccurs="0" maxOccurs="1" name="description1" type="xs:string" nillable = "true"/> 
     <xs:element minOccurs="0" maxOccurs="1" name="description2" type="xs:string" nillable = "true"/> 
     <xs:element minOccurs="0" name="name" type="xs:string"/> 
     <xs:element minOccurs="0" name="placePicture" type="xs:string"/> 
     <xs:element minOccurs="0" name="time" type="xs:string"/> 
    </xs:sequence> 
</xs:complexType> 

Je me attends à SOAP réponse, même si ceux-ci contiennent la valeur nulle de l'élément « description1 » et « description2 ». Mais la réponse SOAP ne contient pas ces balises je leur ai mis null. S'il vous plaît laissez-moi savoir où je vais mal?

Répondre

1

Au lieu d'utiliser:

<xs:element minOccurs="0" maxOccurs="1" name="description1" type="xs:string" nillable = "true"/> 
    <xs:element minOccurs="0" maxOccurs="1" name="description2" type="xs:string" nillable = "true"/> 

Essayez d'utiliser ceci:

<xs:element minOccurs="0" maxOccurs="1" name="description1" type="xs:string"/> 
    <xs:element minOccurs="0" maxOccurs="1" name="description2" type="xs:string"/> 

élément qui est nillable, ce qui signifie que l'élément peut être vide sans provoquer une erreur de validation

Jetez un coup d'oeil here Vous définissez déjà minOccurs="0" alors vous n'avez pas besoin de nillable="true".

Questions connexes