0

你好,

我正在使用 MS CRM 4.0 的 BTS 2006 适配器来创建记录并从 MS CRM 4.0 获取数据。我想在创建记录后从 CRM 获取响应或从 CRM 获取数据为此,我使用带有用于 MS CRM 4.0 的 BTS 2006 适配器的response.xsd来接收来自 MS CRM 的响应,我为响应设置了目标命名空间。 xsd as: targetNamespace= " http://schemas.microsoft.com/crm/2007/BizTalkAdapter/MicrosoftCRM/Response "根据此处的组织名称orgName: "MicrosoftCRM" (有关更多详细信息,我指的是http:// www.ascentium.com/blog/crm/Post398.aspx

现在我收到一个错误:

引发异常:段 -1,进度 -1 内部异常:收到意外消息类型“与预期类型不匹配http://schemas.microsoft.com/crm/2007/BizTalkAdapter/MicrosoftCRM/Response#Response

异常类型:UnexpectedMessageTypeException 来源:Microsoft.XLANGs.Engine 目标站点:Void VerifyMessage(Microsoft.XLANGs.Core.Envelope, System.String, Microsoft.XLANGs.Core.Context, Microsoft.XLANGs.Core.OperationInfo)

这是在 Visual Studio 2005 中生成的 response.xsd 的 Schema 实例

 - <ns0:Response xmlns:ns0="http://schemas.microsoft.com/crm/2007/BizTalkAdapter/MicrosoftCRM/Response">
    - <Header>
      <ReturnCode>ReturnCode_0</ReturnCode>
      <ErrorCode>ErrorCode_0</ErrorCode>
      <ErrorString>ErrorString_0</ErrorString>
      <Retryable>Retryable_0</Retryable>
      </Header>
    - <Body>
      <Message>Message_0</Message>
      </Body>
      </ns0:Response>

这是来自 CRM 的响应的暂停消息详细信息

<ns0:Response xmlns:ns0="http://schemas.microsoft.com/crm/2007/BizTalkAdapter/MicrosoftCRM/Response">
    <Header>
        <ReturnCode>1</ReturnCode>
        <ErrorCode></ErrorCode>
        <ErrorString></ErrorString>
        <Retryable></Retryable>
    </Header>
    <Body>
        <Message><prefix:CreateResponse xmlns:prefix="http://localhost/schemas.microsoft.com/crm/2007/MicrosoftCRM/CreateResponse"><id>f0650fb5-3ff7-dd11-b0f0-0003ff1a2a3c</id></prefix:CreateResponse></Message>
    </Body>
</ns0:Response>

谢谢,

库尔迪普

4

1 回答 1

0

从 Microsoft BizTalk CRM 4.0 适配器开始,使用适配器自动生成的架构“CRMAdapterResponse_Response.xsd”,而不是“response.xsd”。此模式将特定于所考虑的组织。

使用模式将解决您的“模式与预期类型不匹配”问题。

谢谢。

于 2009-05-27T16:28:25.597 回答