2

我无法找到从 MS CRM 发送到 Azure 服务总线队列的 RemoteExecutionContext 的有效架构,因此我尝试了使用虚拟架构的 Passthrough Bridge 和 One-Way Xml Bridge

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://schemas.microsoft.com/xrm/2011/Contracts"
    xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
    targetNamespace="http://schemas.microsoft.com/xrm/2011/Contracts"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="RemoteExecutionContext">
    <xs:complexType>
      <xs:sequence>
        <xs:any minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

处理来自队列的消息始终失败

错误 = 对象引用未设置为对象的实例。
向网关提交消息时发生。
ItemId = 8e9284315e104a759353769633b7c4c2,
RequestId = b442f176-2007-44a6-b818-801bc74f3e2b,
GatewayAddress = default./passthroughbridge1,
PullEndpointName = OutChannelQueue,
PartitionId = 1,
PullRuntimeUrl = 029ba68d-9696-46bf-bd1e-88b8bddff4a8OutChannelQueue;
TraceSource 'Microsoft-Integration-TransportService' 事件

我将发送到 Azure 的步骤直接注册到 ServiceEndpoint,而不是编写一个插件来发布插件执行上下文。

使用简单的控制台应用程序从队列中查看/接收消息没有问题,因此我会排除身份验证或连接字符串问题。

我找不到任何使用 Azure Biztalk 服务从队列接收 RemoteExecutionContext 消息的示例。

4

1 回答 1

1

事实证明,我完全错过了 Azure Biztalk 服务无法接收二进制消息的限制——即使您尝试通过它们并尝试在自定义步骤中序列化它们。

我的解决方案是编写一个 Xml 消息以在自定义插件中发送到 Azure 服务总线队列,而不使用 MS CRM 提供的服务端点注册。


更新2016 更新 1 将允许配置消息格式并支持来自服务端点注册的二进制、xml 和 json 格式的消息。有关详细信息,请参阅演练:配置 Microsoft Azure (SAS) 以与 Dynamics CRM 集成。请注意配置对话框与以前版本的差异。

于 2016-07-01T11:04:40.790 回答