2010-02-09 20 views
3

我正在尋找一種方法來指定某些MessageBodyMember是必需的,以便生成的模式將具有minOccurs = 1而不是minOccurs = 0。
我不得不手動編輯架構來添加它,這真的很痛苦。如何指定MessageBodyMember是必需的?

我讀了一些文章,說這是不可能的,但他們有點老;也許現在有一種方法或解決方法。

有人知道是否有可能嗎?

回答

1

我不知道有任何方法可以做到這一點 - MessageBodyMember屬性沒有屬性或方法來指定它是必需的部分,因此在WSDL中應該有minOccurs = 1。

請參閱MSDN docs on MessageBodyMember attribute

如果確實是一個大問題,您可能會創建自己的WSDL導出器類,它將覆蓋WCF提供的現有標準導出器類,並且會將此minOccurs = 1屬性添加到所有MessageBodyMember元素。網上有很多關於如何修改和調整WCF WSDL導出機制的示例。

+0

明天我試試看 – juan 2010-02-09 23:01:35

+0

根據這個:http://connect.microsoft.com/wcf/feedback/details/378109/messagebodymember-does-generates-minoccurs-0-in-xsd-and-缺乏-required-attribute-equivalent-to-datamember它不可能這樣做與messagecontracts – juan 2010-02-10 12:58:08

+0

「這裏的問題是,WSDL導出器不會被調用MessageContracts,因此這部分XSD不能被修改。似乎MessageContracts是這裏也被忽略了。「 – juan 2010-02-10 12:58:34

相關問題