繁体   English   中英

构建侦听入站事件的WCF Web服务

[英]Build WCF web service that listens for inbound events

我有一个外部供应商,为其下游客户端提供事件通知功能。 他们要求我们执行以下步骤,在公司内部实施事件通知,以接收外部供应商的通知。 我已经提供了供应商网站中列出的大胆事件通知的实际措辞。

为了在我们的实时集成场景中使用我们的事件通知,您需要......

创建实现“通知”WSDL的服务我们的“通知”服务的最新WSDL可以在“通知”服务部分的API文档中找到。 从Workday发送到您的服务的SOAP消息传递事件的唯一标识符(Event_ID),该事件在回调到Workday时用于检索事件的其他信息

我已经构建了一个WCF Web服务shell,并创建了一个对外部供应商站点中发布的Notification WSDL的服务引用。 在那之后,我不确定我需要做什么。 Web服务需要执行以下两个步骤。

  1. 当事件发生在外部供应商端时,将根据供应商端配置的终点发送通知消息。 所以我的网络服务应该主动收听这些消息。 收到消息后,我将捕获事件ID并进行回调以获取有关数据的更多数据。
  2. 一旦我有了事件数据,我将根据我们的业务逻辑处理它(我在这里很好)

需要步骤1的帮助,有点新的建立一个消费的Web服务,听取外部事件..我不知道从哪里开始。

您需要向供应商提供您的应用程序的URL - 这可能意味着

1)托管在面向公众的服务器上并进行开发

2)从供应商站点到您的某种类型的VPN,以便他们可以直接与您的服务器通信

3)让您的基础设施人员在防火墙上设置一些规则,以允许来自供应商站点的请求(IP地址限制)直接路由到您的开发机器

选项3)是我开发的首选(简单),然后是1)长期托管。

我知道这是旧的,但有一个答案。 svcutil可以为你做到这一点。

svcutil.exe / language:C#/out:MyService.cs Notification.wsdl / syncOnly

这将生成您需要的大部分内容,但它也为您提供了不需要的客户端代码。 您可以从它生成的MyService.cs文件中删除该部分。 如果您使用的是.NET 4.5,则可以添加/ serviceContract选项,它只会生成特定于服务器的代码。

这听起来像是在为Workday Notifications编写Web服务。 此wsdl使用一些枚举,其中svcutil不会传输到生成的.cs文件。 如果您关心这一点,则需要将这些字符串属性更改为枚举,并使用wsdl中手动指定的值范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM