2013-02-06 178 views
1

好吧,這是一種複雜的情況,所以讓我先說明我正在嘗試做什麼。wcf服務調用一個返回IPropertyChangedEventHandler的ASMX web服務

我有一個使用DataContractFormat將請求序列化爲JSON的WCF Web服務。 Web服務的一個客戶端使用我的wsdl生成一個參考文件,並在他的末端使用soap端點來回調用。到目前爲止,這一直很好,因爲我們有能力提供對SOAP和REST/JSON請求的支持。

我們當前的項目要求我們包含RSA的方法,這些方法使用wsdl公開他們的webservice。所以我們基本上是對它們進行SOAP調用,然後在我們的末端生成一個引用文件,然後使用我們的Web服務中生成的類和方法。

我們正在得到的問題是,客戶端正在收到構建錯誤,指的是無法序列化所有RSA類中包含的IPropertyChangedEventHandler。我懷疑的問題是,RSA的類都是使用System.Xml.Serialization方法定義的,而我的Web服務是使用DataContractFormat而不是XMLSerializerFormat編寫的,所以它不知道如何序列化這些類。如何避免使用DataContract完全重寫參考文件?或者有可能是我可能忽略的其他東西?

讓我知道你是否需要更多的細節。

+0

你是說在RSA的類中有一個'IPropertyChangedEventHandler'類型的屬性?他們希望在序列化時做什麼? –

+0

你能否顯示實際的異常,包括內部異常? ex.ToString()會很好。 –

+0

感謝您的回覆,但我確實認爲我們可能找到了解決問題的答案。默認情況下,Svcutil.exe用參考文件中的PropertyChanged東西生成Web引用。由於我們甚至沒有使用它,所以我們找到了一種方法來在所有類上生成沒有PropertyChanged的參考文件,所以我們將看看是否可以解決問題。我們嘗試後會更新。 – sanpaco

回答

1

一位同事能夠弄清楚如何在方法中沒有PropertyChangeEventHandler的情況下生成RSA wsdl。我們能夠得到的參考文件,生成不的PropertyChanged服務引用文件夾

<EnableDataBinding>false</EnableDataBinding> 

下改變svcmap文件改變之後,我們更新了服務引用和所有的PropertyChanged東西走了,我們不再有構建錯誤。

+0

所以這不是RSA類中有IPropertyChangedEventHandler;只是代理已經生成了。 –

+0

正確。我們使用svcutil.exe默認生成這些東西。所以我們只是想出瞭如何讓它不生成它。 – sanpaco