2013-06-18 39 views
1

我修改了我的webservices並添加了一個新參數。我重新編譯一切,當我在我的本地主機運行一切正常。但是當我部署到我的IIS服務器時,wsdl沒有被更新,並且它不顯示我的新參數。爲什麼我的webservice方法沒有更新wsdl中的參數?

我需要做什麼才能更新我的wsdl?

+0

環境已過時,您是否重新部署了更新的服務參考文件? –

+0

當你說「參考文件」時,你是什麼意思? – Laggel

回答

0

右鍵單擊Web引用並單擊更新。它將更新reference.cs文件。然後編譯和部署。確保它引用新的reference.cs文件。

+0

「Web Reference」是什麼意思?在我的解決方案資源管理器中,我沒有任何稱爲Web引用的東西我唯一擁有的就是asmx文件! – Laggel

+0

對不起,我誤解了這個問題。我以爲你正在通過另一個應用程序使用你的Web服務。無論如何,你部署更新的wsdl文件到IIS? –

+0

我沒有WSDL文件。 我只有一個帶有.dll和兩個xml文件的所有.asmx和bin文件夾的目錄。我只是複製/粘貼一切。 – Laggel

0

當你說wsdl沒有被更新以顯示新的參數你如何試圖訪問wsdl?如果您嘗試訪問http://myserver/myservice/service.asmx?wsdl並且未顯示更新的wsdl,請嘗試重新啓動承載service.asmx的IIS上的Web應用程序/網站。如果這沒有解決它嘗試重新部署代碼。另一方面,如果您聲明使用IIS託管的服務的客戶端應用程序無法看到更新的wsdl,則需要檢查客戶端應用程序的代碼而不是您的服務。如果它有一個指向服務託管URL的Web引用,那麼您需要執行Azhar建議的操作,並右鍵單擊Web引用並單擊更新。如果有通過Wsdl.exe用生成的代理類,然後通過使用Wsdl.exe用再生代理類如下

wsdl /namespace:MyCompany.MyApp.Services /out:C:\MyServiceProxy.cs http://myserver/myservice/service.asmx

和更新與新MyServiceProxy.cs文件中的客戶端項目,該項目應包含的方法更新的參數。

相關問題