使用MetadataService或CrmService导入工作流

时间:2011-01-24 18:01:12

标签: dynamics-crm dynamics-crm-4

我已经能够使用ImportXmlRequest将实体从XML文件导入到我的Dynamics实例中,如下所示:

  

//创建导入请求

     

ImportXmlRequest importRequest = new   ImportXmlRequest {
  ParameterXml = @“< entities>< entity> MyFirstEntity< entity> MySecondEntity< / entities>< nodes />< securityroles />< settings />< workflows />< / importexportxml> “   };

     

string customizationPath =   “entityCustomizations.xml”;

     

//使用

将自定义XML流传递给导入请求      

(StreamReader sr = new   的StreamReader(customizationPath))   {
  string customizationXml =   sr.ReadToEnd();
  importRequest.CustomizationXml =   customizationXml;   }

     

//导入自定义项   myCrmService.Execute(importRequest);

工作正常。

我还需要将工作流从XML文件导入到我的Dynamics实例中。我尝试使用相同的方法,但我不断收到以下错误:'0x80040216无法识别的格式'。

我能够通过将包含工作流的XML文件添加到ZIP文件,然后使用ImportCompressedAllXmlRequest导入ZIP文件来实现它。

ImportCompressedAllXmlRequest是导入工作流的唯一方法,还是我错过了使用ImportXmlRequest的明显内容?

谢谢,

大卫

1 个答案:

答案 0 :(得分:0)

我的代码实际上有一个愚蠢的错误。我可以通过设置ImportXmlRequest的ParameterXml来使用ImportXmlRequest来导入工作流,如下所示:

<importexportxml>
    <entities/>
    <nodes/>
    <securityroles/>
    <settings/>
    <workflows>
        <workflow>{97db1a25-af1c-4534-9805-c867d6585c8a}</workflow>
    </workflows>
</importexportxml>"