如何在C#中创建SOAP / WSDL客户端?

我一直在用PHP玩它并得到一些工作,我做的是:

$client = new SoapClient("http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl"); $fetchedArr = $client->GetCityForecastByZIP(array("ZIP" => "10451")); //get the weather in the bronx YO! 

现在我希望我的应用程序我WPF / C#也这样做。 c#中的等价物是什么?

最简单的方法是使用VS并添加Web引用。 这会自动为您创建存根

您可以使用WSDL工具生成C#文件,该文件将包含与Web服务通信的必要类型和成员,或者您可以添加Web服务引用。 有关详细信息,请参见此处

如果您不想或不想使用Visual Studio,可以使用.NET SDK中的“wsdl.exe”命令生成包装类。

请参阅: http : //msdn.microsoft.com/en-us/library/7h3ystb6%28VS.80%29.aspx

添加Web服务引用到您的项目n调用服务公开方法是最好的选择。 它可以解决您手动创建SOAP的麻烦

如果您首选的方法是控制生成的代码,最好使用更新的SvcUtil.exe来代替Wsdl.exe。

另请参阅WCF代理生成:svcutil.exe vs wsdl.exe