2012-09-14 63 views
0

我正在使用apache-cxf for webservice,生成的響應不包含元素(比如java.lang.String類型),其值爲空值。 以下是XSD:未獲取Web服務響應中的「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> 

我預計,即使這些包含空值SOAP響應元素「內容描述」和「廣告內容描述」。但SOAP響應不包含這些標籤我爲他們放置null。 請讓我知道我哪裏錯了?

回答

1

而不是使用:使用此

<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" maxOccurs="1" name="description1" type="xs:string"/> 
    <xs:element minOccurs="0" maxOccurs="1" name="description2" type="xs:string"/> 

元素可以爲空,這意味着該元素可以是空 而不會導致驗證錯誤

看一看here。您已經定義了minOccurs="0",因此不需要nillable="true"

相關問題