我有一個客戶端被強制要求我required
字符串元素有nillable="false"
,目前在WSDL的所有串出來會nillable="true"
,IE:WCF:字符串元素的nillable =「假」
<xs:element name="username" nillable="true" type="xs:string" />
哪有我更改nillable="false"
?!?我會就如何做到這一點提出任何建議?我是第一個遇到過這個問題的人嗎?
我有一個客戶端被強制要求我required
字符串元素有nillable="false"
,目前在WSDL的所有串出來會nillable="true"
,IE:WCF:字符串元素的nillable =「假」
<xs:element name="username" nillable="true" type="xs:string" />
哪有我更改nillable="false"
?!?我會就如何做到這一點提出任何建議?我是第一個遇到過這個問題的人嗎?
這個元素是如何在數據契約中定義的?
如果它沒有這樣做,嘗試添加一個IsRequired=true
子句中的數據成員屬性:
[DataContract]
class YourDataStructure
{
......
[DataMember(IsRequired=True)]
string username;
.....
}
除此之外,我不知道的任何方式影響XSD從WCF數據所呈現合約,寫你自己的WsdlExporter擴展(這是完全可能的 - 只是在這裏似乎有點矯枉過正)。
嗨,馬克。感謝您的建議。 我試過了IsRequired = True,只刪除了minOccurs =「0」。 – stevenrosscampbell 2009-10-19 17:22:54
@Steven:我很害怕這個:-( – 2009-10-19 17:26:08
Hi Marc, 好消息,我已經在我的wcf服務中使用了WsdlExporter來平滑wsdl,所以在WsdlExporter擴展中實現它實際上很容易。感謝您的建議,沒有它,我不認爲我會沿着那條大道走。 (注意:我使用http://blogs.msdn.com/stan_kitsis/archive/2005/08/06/448572.aspx走過XmlSchema,找到合適的元素後,我就可以去el.IsNillable = false;並且它能正常工作 再次感謝 Steven – stevenrosscampbell 2009-10-19 18:35:18
相關:http://stackoverflow.com/questions/9039850/wcf-wsdl-nillable-attributes/21266714#21266714。 – Steven 2014-01-21 18:54:53