2013-06-18 35 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文件中的客户端项目,该项目应包含的方法更新的参数。

相关问题