步骤 3a:在 BizTalk Server 中接收 Salesforce 机会通知

在此步骤中,我们开始创建 BizTalk Server。 我们首先应包含从 Salesforce 获取的机会通知消息的消息架构,然后开始创建业务流程来处理消息。

将 Salesforce 机会通知方案添加到架构中

  1. 登录到 Salesforce.com 门户。 在 Salesforce 门户中,单击页面右上角的登录名,然后单击 “设置”。

  2. 在左窗格中的 “应用设置”下,展开“ 创建”,展开 “工作流和审批”,然后单击“ 工作流规则”。

  3. 在“ 所有工作流规则 ”页中,单击之前创建的 “已关闭的机会 ”工作流。

  4. 已关闭的机会 工作流规则页中,单击 NewOp1 出站消息工作流动作。

  5. NewOp1 出站消息工作流作页中,右键单击“ 单击 WSDL”链接,单击“ 另存为目标”,然后指定要保存 WSDL 的位置。

    注释

    必须保存扩展名为 .wsdl 的文件。

  6. 在 Visual Studio 中创建 BizTalk Server。 在本教程中,让我们将项目命名为 BtsSalesforceIntegration.

  7. 右键单击解决方案资源管理器中的 BizTalk Server 项目,指向 “添加”,然后单击“ 添加生成的项”。

  8. 在“ 添加生成的项 ”对话框中,单击“ 使用 WCF 服务”,然后单击“ 添加 ”以启动 BizTalk WCF 服务使用 向导。 在欢迎页上,单击“ 下一步”。

  9. “元数据源 ”页上,选择 “元数据文件”(WSDL 和 XSD) 选项,然后单击“ 下一步”。

  10. 在“ 元数据文件 ”页上,单击“ 添加”,然后导航到从 Salesforce 门户下载的 WSDL 文件的位置。 选择 WSDL 文件,然后单击“ 下一步”。

  11. 在下一页中,将命名空间 NotificationService 设置为“导入”,然后单击“ 导入”。 该向导将架构文件和业务流程添加到 BizTalk Server 项目。 从 Salesforce 接收机会通知的消息架构是 NotificationService_soap_sforce_com_2005_09_outbound.xsd

创建业务流程以接收通知消息

  1. 完成 BizTalk WCF 服务消费向导后,将把一个业务流程(在此示例中 NotificationService.odx)添加到 BizTalk Server 项目中。

  2. 打开业务流程文件并在业务流程视图中,添加两个新消息变量。 将它们命名为 NotificationMessageNotificationAck。 按如下所示设置这些消息变量的消息类型:

    1. NotificationMessage 设置为 NotificationService.NotificationService_soap_sforce_com_2005_09_outbound.notifications。 此消息变量表示从 Salesforce 接收的机会通知消息。

    2. NotificationAck 设置为 NotificationService.NotificationService_soap_sforce_com_2005_09_outbound.notificationsResponse。 此消息变量表示是发回给 Salesforce 的机会通知确认消息。

  3. 向编排添加接收形状。 设置形状上的以下属性:

    1. “激活 ”设置为 True

    2. Name 设置为 ReceiveNotificationMessage

    3. 消息 设置为 NotificationMessage

  4. 在“接收”形状之后添加构造消息形状。 将消息形状命名为 ConstructNotificationResponse ,并将 Messages Constructed 属性设置为 NotificationAck. 我们将在消息构建中创建一个流程图,以生成通知确认并发送回 Salesforce。

    1. 在“构造消息”模板中,添加一个转换模板。 双击“转换”形状,然后在“转换配置”对话框中,选择“ 新建映射 ”选项。

    2. 将映射名称指定为 BtsSalesforceIntegration.MapNotificationResponse.

    3. 将源设置为 NotificationMessage ,将目标设置为 NotificationAck

    4. 确保选中复选框 “当我点击确定时,启动 BizTalk 映射器”

    5. MapNotificationResponse.btm 中,我们将创建一个通知响应,以发送回 Salesforce。 每当 Salesforce 发送通知时,它都期望有一个确认作为回报。 通知响应消息的架构显示响应中的 Ack 元素的类型为布尔值。 因此,在映射中,必须删除 值映射 functoid 并将其两个输入值(条件和结果)设置为 true。 单击“ 确定 ”保存 functoid。

    6. 值映射 functoid 连接到目标架构中的 Ack 元素。

  5. 在编排流程中,在构造消息形状之后,添加一个发送形状,该形状将用于将确认消息发送回 Salesforce。

    • Name 设置为 SendNotificationAck

    • 消息 设置为 NotificationAck

  6. 在编排流程中,添加一个端口来接收 Salesforce 通知消息,并在响应中发送确认。 在端口配置向导中,选择以下选项:

    • 将端口名称指定为 SalesforceNotificationPort.

    • 选择用于创建新端口类型的选项。

    • 通信模式 设置为 请求-响应

    • 通信的端口方向 设置为 我将收到请求并发送响应 ,并将 端口绑定 设置为 稍后指定

      将端口的 请求 操作连接到接收形状(ReceiveNotificationMessage),并将端口的 响应 操作连接到发送形状(SendNotificationAck)。 以下屏幕截图描述了从 Salesforce 接收机会通知并发送确认回发的业务流程的一部分:

      接收机会通知并发送响应

    现在,我们已经设置好解决方案,其中会从 Salesforce 收到机会通知,并发送确认回去。 在后续主题中,我们将基于此解决方案开始处理机会通知,以获取有关可用销售机会类型的更多详细信息。

另请参阅

步骤 3:在 Visual Studio 中创建 BizTalk Server 解决方案