2012-09-14 59 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"

相关问题