我有一個項目,它依賴於Oracle Hosted Web服務(而不是WCF)。我有一份服務及其相關XSD的WSDL副本。WSDL處理外部服務的做法
生成代理和datacontract程序集的正確方法是什麼?
我開始與
XSD.exe /c /language:CS user.xsd
對於每一個我的XSD的。這生成了一堆具有共享類型違例的類對象(所有類中都有相同的對象),所以我修剪了所有重複對象,以便它們具有單個聲明。
然後建立了組裝只用我的類文件「datacontracts.dll」
然後我產生我的服務客戶
svcutil.exe user.wsdl /n*:SomeNameSpace /r:datacontracts.dll /noconfig
但這並沒有真正似乎給了,因爲它是我想還是導致了服務客戶端內所有類的重複。
從我注意到每一個類定義的XSD生成的類裏面有
[XmlType(Namespace = "urn:/crmondemand/xml/...")]
我需要放置該屬性的方式,反覆類展示了一次內部在那裏我已各班成爲單數班嗎?所以我會有
[XmlType(Namespace = "urn:/crmondemand/xml/user")]
[XmlType(Namespace = "urn:/crmondemand/xml/campaign")]
[XmlType(Namespace = "urn:/crmondemand/xml/lead")]
public class SharedClass
或者我接近這個錯誤?
「依賴於Oracle託管的Web服務(而不是WCF)」如果我已經控制了代碼,我可以用WCF替換Web服務我可能只是使用NHibernate。 – 2009-09-29 14:12:17
我會回答這個問題,因爲它確實只是承認不是WCF吸收的Web服務,問題是Web服務不是WCF。 – 2009-10-19 12:49:41
非常感謝克里斯 - 但我實際上主張每個微軟堆棧的Web服務我已經在這方面使用「糟透了」(儘管大部分 - 雖然 - 我喜歡MS的堆棧)... 我真的很鼓勵你看看進入WSCF.Blue ......我認爲它可以做你正在尋找的東西 - 或者至少讓你更接近......(我在.NET中處理的每個項目都使用它)在哪裏可以找到最大的'爆炸'爲你的降壓是'在單獨文件中發射'的選擇......然後 - 即使EXACT同一類不止一次發射,它會被覆蓋...(假設它們不是'真正'的名稱衝突) – dovholuk 2009-10-21 03:07:16