2014-02-25 29 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時保持原樣。如果您已解決此問題,請發佈解決方案。 –