【发布时间】:2012-05-31 20:17:50
【问题描述】:
我在 .NET 4 中有一个 ASP.NET MVC3 项目,它需要充当 SOAP 服务器来接收来自另一个网站的通知。
我之前创建了网络服务,但我不知道如何设置一种方式来接收这些通知,其中 WSDL 由外部网站提供。
我知道我可以创建一个服务并让它生成它自己的 WSDL,但我假设必须有一种简单的方法来添加服务引用,然后创建一个使用它生成的对象/方法的服务.
我该怎么做?
谢谢
【问题讨论】:
-
为什么要从外部网站的 WSDL 生成服务?在您根据定义的规范构建服务之后,他们应该从您的 WSDL 生成他们的 客户端。无论如何,要回答您的问题,如果您添加服务引用,您将拥有所有必需的方法、方法签名和相关类型,因此只需将其转换为实现 ServiceBase 的类并实现所有方法。
-
对不起,我不明白。他们的服务已经存在——也许我需要反过来问它——给定一个外部 SOAP 服务,我如何使用它来接收通知?
-
客户端通常不会接收来自 SOAP 服务的通知。您需要为外部网站提供第二项服务作为客户端并向您的服务发送通知。否则,您需要某种持久的双工连接,在一天开始时连接到该服务,并保持连接打开以等待来自该服务的任何通信。
-
要么我不明白你的问题......
-
好的,听起来他们有一个预先编写的客户端,我必须编写一个它可以使用的服务,在这种情况下,您的第一个响应似乎是正确的。在这种情况下,您能否通过“将其转换为实现 ServiceBase 并实现所有方法的类”来扩展您的意思?我可以毫无问题地创建类,但如何将其设置为作为可消耗服务运行?
标签: asp.net-mvc asp.net-mvc-3 wcf web-services service-reference