我的客戶已經指定了一個WSDL文件作爲我必須實現的Web服務的契約。 (它確實必須是WSDL文件,因爲它已經被傳遞給其他合作伙伴等等,並且他們也將基於該WSDL實現他們自己的Web服務和客戶端,它是一個63 KB的WSDL文件。)WSDL.exe不是往返?
使用wsdl.exe我創建了服務器端的代理類。所以我可以實現Web服務。 但是:如果使用wsdl.exe創建基於原始WSDL文件的客戶端代理類,那麼會導致客戶端應用程序無法與Web服務通信!
INSTEAD:通過向Web服務URL添加「?wsdl」,我得到另一個WSDL文件。當使用第二個WSDL文件來創建客戶端代理類時,則會導致客戶端應用程序完全能夠與Web服務進行通信。奇怪的是,第二個WSDL文件的大小爲288 KB,而不是原始WSDL文件的63 KB。
因此,這應該意味着WSDL不是往返...(WSDL文件 - > wsdl.exe創建服務器端代理類 - > web服務 - >將「?wsdl」添加到Web服務URL - >結果另一個WSDL文件爲原始文件(更糟糕的是:它們不兼容)。)
任何人都可以解釋這一點嗎? (對於我的項目來說很重要,因爲其他方將使用原始WSDL文件,因此它們將無法與我的Web服務進行通信......)
我使用C#以及CLI 。它是可重複的。我正在使用IIS 7.5和.NET框架3.5。
更好地發佈命令行設置,以及生成的C和S不匹配的示例。比較文件大小是沒有意義的。 –