如何从WSDL文件中识别Required属性?

时间:2013-07-03 12:30:24

标签: c# asp.net .net wcf

我在这里创建一个WCF服务是我正在为Fromdate字段设置所需属性的服务的DataContract部分。

[DataContract(Name = "PriceCalculationRequest")]
    public class PriceReq
    {
        [DataMember(Name = "PickupDate", Order = 1, IsRequired = true , EmitDefaultValue=true)]
        private DateTime FromDate { get; set; }

        [DataMember(Name = "ReturnDate", Order = 3)]
        public DateTime ToDate { get; set; }

        [DataMember(Order = 2)]
        public string PickupLocation { get; set; }

        [DataMember(Order = 4)]
        public string ReturnLocation { get; set; }

        public string CarType { get; set; }
    }

这是从上面的代码生成的wsdl文件,如何识别哪个属性是必需属性,

<xs:sequence>
<xs:element minOccurs="0" name="pickupDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="returnDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="pickupLocation" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="vehiclePreference" nillable="true" type="xs:string"/>
</xs:sequence>

2 个答案:

答案 0 :(得分:1)

确保在进行修改后重建服务项目。这就是我得到的:

<xs:sequence>
    <xs:element name="PickupDate" type="xs:dateTime"/>
    <xs:element minOccurs="0" name="PickupLocation" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="ReturnDate" type="xs:dateTime"/>
    <xs:element minOccurs="0" name="ReturnLocation" nillable="true" type="xs:string"/>
</xs:sequence>

答案 1 :(得分:0)

如果设置IsRequired = true,则显示minoccurs =“0”表示需要

minOccurs="0"

请参阅此链接以获取解释:http://www.w3.org/TR/xmlschema-0/#OccurrenceConstraints