我在.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();