Web引用:如何更改代理类代码

时间:2013-07-22 13:27:06

标签: c# web-services web-reference

我正在使用Web引用来使用Web服务,问题在于可选的十进制属性,其值不会传递给Web服务。我试图添加默认属性并给它一个默认值它工作正常,但我不能改变我的wsdl因为我有不同的客户端使用它(PHP,Java ...客户端) 问题在这里有详细描述:msdn post stackoverflow post

所以我想找到一种方法来更改在创建Web引用之后生成的代理类的代码,因为我确定这是由此类引起的错误处理可选的十进制属性的错误。

1 个答案:

答案 0 :(得分:1)

解决方案1:

  • 转到您的项目文件夹 - >网络参考 - >为MyService。
  • 在那里,应该有一个名为Reference.cs的文件......这是创建的文件。它包含webservice的代理类。

此外,如果您不想错误地更新引用并删除对文件的更改,请更新csproj文件中的引用。在项目文件的底部,您将找到您正在使用的所有服务的URL。将它指向同一文件夹中的WSDL。

解决方案2:

  • 将服务引用添加到项目中
  • 更改项目文件并更新服务的网址,将其指向与解决方案1中相同的文件夹中的wsdl
  • 对同一文件夹中的wsdl进行必要的更改
  • 更新VS中的引用...这将创建一个新的Reference.cs ...它将更新代理类

注意:根据对WSDL所做的更改,可能是另一方的Web服务可能无法“读取”您的消息。尽管使财产有义务而不是可选的,但不应该破坏它。

相关问题