0

我正在使用 Web 引用来使用 Web 服务,问题在于可选的小数属性,其值未通过 Web 服务。我试图添加默认属性并给它一个默认值它工作正常,但我无法更改我的 wsdl,因为我有不同的客户端使用它(php,java ...客户端)这个问题在这里得到了很好的描述:msdn post stackoverflow邮政

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

4

1 回答 1

1

解决方案1:

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

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

解决方案2:

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

注意:根据对 WSDL 所做的更改,可能是另一端的 Web 服务可能无法“读取”您的消息。但是,将属性设置为强制而不是可选不应破坏它。

于 2013-07-22T20:07:54.210 回答