服务引用不是创建方法

时间:2015-10-29 09:32:44

标签: c# asp.net web-services wcf soap

我尝试将SOAP Web服务的服务引用添加到我的ASP.NET MVC应用程序中,以便我能够从此处使用Web服务。

问题是,服务引用不是创建我可以在常规应用程序中使用的任何类或方法,它只定义了两个接口和许多数据类型。

也许我错了,但是正如我理解的那样,服务引用应该创建一个我可以用来调用服务上不同方法的类。然后我的工作是将我的业务模型数据转换为Web服务的数据类型,这样我就可以向方法发送参数并使用它们的响应。

我做错了,应该使用不同的方法来使用外部SOAP Web服务吗?

1 个答案:

答案 0 :(得分:8)

检查您的服务参考。右键单击"配置服务参考"。取消选中"在引用的程序集中重用类型"并让它重建代理。

在我的情况下,我创建了一个名为"示例"的WCF服务的服务引用。这会创建一个名称空间WebApplication1.Example

我的WCF服务简称为Service1,它是IService1的一个实现,它有两个默认操作和一个我为句子添加的Add

在服务参考之后,我有一个using WebApplication1.Example;,然后是C#,var client = new Service1Client();。请注意,约定附加" -Client"我的服务名称,这是有道理的,因为它是实际服务的代理。

从那里开始var x = client.Add(5, 6);

顺便说一下,您可能不需要Web引用。虽然它可能只是工作"但它甚至不能与服务参考相同。 Web Reference vs. Service Reference

HTH!