用于CRM 4.0响应的BizTalk 2006适配器

时间:2009-02-10 09:43:35

标签: biztalk dynamics-crm dynamics-crm-4

HI,

我正在使用BTS 2006适配器为MS CRM 4.0创建记录并从MS CRM 4.0获取数据。 我希望在创建记录后从CRM获得响应,或者从CRM获取数据 为此,我使用 response.xsd 与MS CRM 4.0的BTS 2006适配器一起接收来自MS CRM的响应 我将reponse.xsd的目标命名空间设置为: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>

谢谢,

Kuldip

1 个答案:

答案 0 :(得分:0)

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

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

感谢。