我尝试将SOAP Web服务的服务引用添加到我的ASP.NET MVC应用程序中,以便我能够从此处使用Web服务。
问题是,服务引用不是创建我可以在常规应用程序中使用的任何类或方法,它只定义了两个接口和许多数据类型。
也许我错了,但是正如我理解的那样,服务引用应该创建一个我可以用来调用服务上不同方法的类。然后我的工作是将我的业务模型数据转换为Web服务的数据类型,这样我就可以向方法发送参数并使用它们的响应。
我做错了,应该使用不同的方法来使用外部SOAP Web服务吗?
答案 0 :(得分:8)
检查您的服务参考。右键单击"配置服务参考"。取消选中"在引用的程序集中重用类型"并让它重建代理。
在我的情况下,我创建了一个名为"示例"的WCF服务的服务引用。这会创建一个名称空间WebApplication1.Example
。
我的WCF服务简称为Service1
,它是IService1
的一个实现,它有两个默认操作和一个我为句子添加的Add
。
在服务参考之后,我有一个using WebApplication1.Example;
,然后是C#,var client = new Service1Client();
。请注意,约定附加" -Client"我的服务名称,这是有道理的,因为它是实际服务的代理。
从那里开始var x = client.Add(5, 6);
HTH!