2014-02-25 24 views
0

我在sharepoint designer中创建了一个工作流程,然后我从中导出了xoml,xoml.rules,xoml.wfconfig.xml文件。错误当调用ValidateWorkflowMarkupAndCreateSupportObjects

我想使用主机应用程序(Windows窗体应用程序)在SharePoint中部署这些文件。所以,我从WebPartPagesWebService类调​​用ValidateWorkflowMarkupAndCreateSupportObjects和​​方法。 下面的代码:

string XomlFile = @"D:\wkf\rami workflow designer.xoml"; 
string RulesFile = @"D:\wkf\rami workflow designer.xoml.rules"; 
string ConfigFile = @"D:\wkf\rami workflow designer.xoml.wfconfig.xml"; 
string flag = "2"; 

websvcWebPartPages.WebPartPagesWebService service = new websvcWebPartPages.WebPartPagesWebService(); 
service.UseDefaultCredentials = true; 
service.PreAuthenticate = true; 
string result = service.ValidateWorkflowMarkupAndCreateSupportObjects(XomlFile, RulesFile, ConfigFile, flag); 
service.AssociateWorkflowMarkup(ConfigFile, "V1.0"); 

ValidateWorkflowMarkupAndCreateSupportObjects回报 “Data at the root level is invalid. Line 1, position 1”。

and​​throws Microsoft.SharePoint.SoapServer.SoapServerException

的日志文件:

Unknown SPRequest error occurred. More information: 0x80070002 3dccdc9b-af66-4f72-b41f-51a4d1774b35 

SOAP exception: System.IO.FileNotFoundException: The system cannot find the file specified. (Exception of HRESULT : 0x80070002) 
at Microsoft.SharePoint.Library.SPRequestInternalClass.GetFileAndFolderProperties(String bstrUrl, String bstrStartUrl, ListDocsFlags ListDocsFlags, Boolean bThrowException, Int32& phrStatus, Object& pvarFiles, Object& pvarDirs, UInt32& pdwNumberOfFiles, UInt32& pdwNumberOfDirs) 
at Microsoft.SharePoint.Library.SPRequest.GetFileAndFolderProperties(String bstrUrl, String bstrStartUrl, ListDocsFlags ListDocsFlags, Boolean bThrowException, Int32& phrStatus, Object& pvarFiles, Object& pvarDirs, UInt32& pdwNumberOfFiles, UInt32& pdwNumberOfDirs) 
at Microsoft.SharePoint.SPWeb.GetFileOrFolderProperties(String strUrl, ListDocsFlags listDocsFlags, Boolean throwException, ... 3dccdc9b-af66-4f72-b41f-51a4d1774b35 ...SPBasePermissions& permMask) 
at Microsoft.SharePoint.SPFile.PropertiesCore(Boolean throwException) 
at Microsoft.SharePoint.Workflow.SPWorkflowNoCodeSupport.LoadWorkflowBytesElevated(SPFile file, Int32 fileVer, Int32& userid, DateTime& lastModified) 
at Microsoft.SharePoint.Workflow.SPWorkflowNoCodeSupport.LoadWorkflowBytes(SPFile file, Int32 fileVer, Int32& userid) 
at Microsoft.SharePoint.SoapServer.WebPartPagesWebService.AssociateWorkflowMarkup(String configUrl, String configVersion) 3dccdc9b-af66-4f72-b41f-51a4d1774b35. 
+0

请勿在问题标题中重复标签。 –

回答

2

您传递文件名,但该方法需要实际的XML。 (问自己:你打电话给web服务,通​​常是远程调用,那么服务器如何从本地PC的驱动器读取任何文件?)阅读MSDN文档;然而,请注意,2013 version不是很清楚它,你必须看看2007 version of the docs

+0

谢谢。 'ValidateWorkflowMarkupAndCreateSupportObjects' now now'“”'。但是同样的异常被抛出。我修改了'service.AssociateWorkflowMarkup(“Workflows/rami workflow designer/rami workflow designer.xoml.wfconfig.xml”,“V1.0”)代码的最后一行;'但它没有解决问题。 –

+0

@RamiNeji我正在做类似的事情,并且在发布* .wfconfig.xml时保持原样。如果您已解决此问题,请发布解决方案。 –