DataFactory Web Service issues

Vote:
 
I am writing a windows forms application for pulling data from an existing (non-episerver) cms application, and loading the pages into EpiServer 4.60 (running on oracle). I have run into an issue now when I try and add multiple versions of a single page. I think I might have narrowed the problem to when a 3'rd language branch is added, but I am not 100% certain that is it (when I limit my language branches to only 2 - I can add all the versions I like). Here is the exception that is thrown... System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.OracleClient.OracleException: ORA-00001: unique constraint (EPISERVER_MIGDEV.PK_TBLWORKPROPERTY) violated ORA-06512: at "EPISERVER_MIGDEV.EDITCREATEPAGEVERSION", line 250 ORA-06512: at line 1 at System.Data.OracleClient.OracleConnection.CheckError(OciHandle errorHandle, Int32 rc) at System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean isReader, Boolean needRowid, OciHandle& rowidDescriptor, ArrayList& refCursorParameterOrdinals) at System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciHandle& rowidDescriptor) at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciHandle& rowidDescriptor) at System.Data.OracleClient.OracleCommand.ExecuteNonQuery() at EPiServer.DataAccess.AbstractCommand.ExecuteNonQuery() at EPiServer.DataAccess.PageSaveDB.CreatePageVersion(Int32 currentSid) at EPiServer.DataAccess.PageSaveDB.CreateAndSave(SaveAction action, Int32 currentSid) at EPiServer.DataAccess.PageSaveDB.Save(PageData page, SaveAction action, Int32 currentSid) at EPiServer.DataFactory.Save(PageData page, SaveAction action, AccessLevel access) at EPiServer.DataFactory.Save(PageData page, SaveAction action) at EPiServer.WebServices.DataFactoryService.Save(RawPage page, SaveAction action) --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at MigrationTool.localhost.DataFactoryService.Save(RawPage page, SaveAction action) in C:\Inetpub\Gateway\MigrationTool\Web References\localhost\Reference.cs:line 128 at PageDefinitions.Defaults.SaveToEpi(String inBeeStatus) in c:\inetpub\gateway\migrationtool\pagedefinitions.cs:line 134 at MigrationTool.Migrate.MigrateEmployee() in c:\inetpub\gateway\migrationtool\migrate.cs:line 670 Any help would really be appreciated. Thanks Ashley
#12682
Mar 25, 2008 18:35
Vote:
 
Hi Ashley, it looks like you are trying to save the page with the same page link(same version) when you saving the version. Can you write a simple test case to reproduce the problem?
#14736
Mar 25, 2008 18:45
Vote:
 
Mattias. I have spent the last couple of days trying to simplify this problem so I can try and figure out a solution. What I did find, is that if I change the PageLanguageBranch Property to only 1 of 2 language codes then I don't get any errors (all the rest of my code is exactly the same). As soon as I allow that same code to run in exactly the same way, except I allow it write a 3'rd language (no matter what language it is) I get this error. Like I said I am using EpiServer 4.60, but what I have also noticed, is I don't have any overloads for the GetPage and GetDefaultPageData methods (like those documented in the sdk - are they not published via the datafactory webservice?) that allow me to specify a language. How am I supposed to set the language correctly? Or is just setting the PageLanguageBranch property correct?
#14737
Mar 25, 2008 18:45
Vote:
 
Ashley, I have not had an opportunity to test this yet, and you probably have it covered - still, just to be sure: Have you verified that publishing a third language is valid? That includes making the third language available from "Manage Languages" in admin mode, as well as enabling the language in the branch where you are trying to publish the page. Just a thought.
#14738
Mar 25, 2008 18:45
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.