2011-09-20 19 views
2

我正在構建web服務的測試存根,實現使用svcutil從生產webservice檢索的接口。當在存根上調用方法時,我得到異常;無法在WCF中轉換爲相同類型

Object of type 
'Sbsys.Services.HostService.DokumentBoks.DKALWSAfsendService.MaterialeType[]' 
cannot be converted to type 
'Sbsys.Services.HostService.DokumentBoks.DKALWSAfsendService.MaterialeType[]'. 

其中「Sbsys.Services.HostService.DokumentBoks」是消費客戶機的名稱空間,和「DKALWSAfsendService」是包含所生成的代理類的服務的命名空間。

關於發生什麼事情的任何想法?

獎金信息:當使用生產服務一切都會按計劃

+0

解決方案中有多個'Sbsys.Services.HostService.DokumentBoks.DKALWSAfsendService.MaterialeType'定義的機會?可能有多個具有相似類型和名稱空間的Web服務引用?也許一個在被引用的dll中,一個在本地? –

+0

@MarcGravell:可悲的不是。該項目相當孤立,只有一個服務參考。獎勵信息:使用生產服務時,一切都按預期運作。 – hhravn

+0

當你說「生產服務」 - 如何配置?是相同的*服務*,但在配置文件中有不同的值(或者替代方法,在通道運行時更改url) - 或者您是否有單獨的dev/prod服務參考? –

回答

3

解決:我懷疑它可能是一個版本控制問題,並將我的服務引用移到一個孤立的項目中,其中不包含任何其他內容。從消費者客戶端和Web服務存根引用了這一點,希望這可以解決任何構建多次或任何問題的問題。普雷斯托。問題沒有了。

2

任何機會,在督促的WSDL /合同是你的呼喚對一個有什麼不同?如果代理已經針對產品生成並在具有不同合約的服務的另一實例上使用,那麼您可能會遇到那種奇怪的消息。

0

有時會出現此錯誤,因爲項目屬性中的Generate Serializable Assembly選項(尤其是如果您使用的是每生成的序列化程序集使用sgen)。嘗試在項目屬性中將此選項設置爲關閉並查看它是否有效。關閉此選項後,您需要使用sgen生成裝配。這個Q&A有一些很好的討論和後臺線程。

+0

我在其他地方閱讀了這篇文章,並沒有任何運氣嘗試。不管怎麼說,還是要謝謝你。 – hhravn

相關問題