使用WCF和.NET 4.0在C#中实现SOAP客户端

前端之家收集整理的这篇文章主要介绍了使用WCF和.NET 4.0在C#中实现SOAP客户端前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在.NET 4.0中开始使用WCF时遇到了麻烦.这是我的情况:

我用PHP创建了一个小型SOAP服务器.我有一个C#项目,我想在其中连接到此服务器并启动SOAP通信.

我的问题是,我不知道如何在C#中做到这一点.我找不到对WCF的正确介绍.有办法做到这一点.但我找不到合适的类和引用来添加到我的C#项目中.是否有任何教程如何在C#中实现这一目标?我搜索了很多,发现什么都没有帮助我.

我想在运行时从我的SOAP服务器加载WSDL,发出SOAP请求,检索答案并完成.但是我在哪里可以开始?关于WCF的MSDN网站只会让我更加困惑.

编辑:可能没有必要在运行时获取WSDL文件.所以不再需要了.
我使用svcutil来创建类并将其嵌入到我的项目中.我还没能测试它,因为我在MysqL数据库上遇到了一些问题(它正在运行并可以从MysqL命令行工具或MysqLadmin访问,但是我无法使用任何其他程序连接到它…) .一旦我知道它是否有效,我会立即报告.

编辑2:我遵循了Kevs的方法,最终结果非常好.我最后的问题是,我在DLL中使用了服务类.我需要在程序中使用DLL的app.config.在我这样做之后,效果很好.

解决方法

最快的方法是在引用下的客户端项目中右键单击“添加服务引用”.将对话框指向WSDL的位置,然后单击Go:

我使用的URL是.NET服务引用的样式,您需要替换PHP SOAP服务用于公开其WSDL的任何内容.

执行此操作将生成客户端代理,您可以实例化以与Web服务进行通信.

要访问该服务,您可以执行类似的操作(尽管您的具体实现方式不同):

MyService.MyWebServiceSoapClient ws = new MyService.MyWebServiceSoapClient();
string result ws.DoThing();

特别注意代理类名称的SoapClient部分,它由代理代码生成添加到soap服务名称名称中.

代理生成器还将在web.config或app.config文件中创建所有必要的配置.

原文链接:https://www.f2er.com/csharp/244145.html

猜你在找的C#相关文章