2016-05-13 18 views
2

Meine Regressionstests laufen auf einer aktualisierten Sitecore-Instanz von 8.0-U3 bis 8.1-U2. Und ein Teil der Tests besteht darin, zu überprüfen, ob der Workflow ordnungsgemäß funktioniert.Sitecore: Serverfehler in '/' Anwendung: Leere Zeichenfolgen sind nicht erlaubt. Parametername: handleId

So erstellte ich ein neues Beispielelement namens PAGE ABC (Vorlage: /sitecore/templates/Sample/Sample Item) unter dem Knoten /sitecore/content/home.

Der Arbeitsablauf der PAGE ABC ist 'Beispielworkflow' (Vorlage: /sitecore/system/Workflows/Sample Workflow), der auf einer neu installierten Sitecore-Instanz bereitgestellt wurde.

Die Seite ABC wurde ohne Problem geschaffen, aber wenn ich die Seite ABC vorgelegt, stieß ich auf ein Argument unten gezeigt:

Server Error in '/' Application. 
________________________________________ 
Empty strings are not allowed. 
Parameter name: handleId 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentException: Empty strings are not allowed. 
Parameter name: handleId 

Source Error: 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 

[ArgumentException: Empty strings are not allowed. 
Parameter name: handleId] 
    Sitecore.Diagnostics.Assert.ArgumentNotNullOrEmpty(String argument, String argumentName) +204 
    Sitecore.Workflows.WorkflowUIHelper.ExtractFieldsFromFieldEditor(String handleId) +48 
    Sitecore.Shell.Framework.Commands.Workflow.Run(ClientPipelineArgs args) +900 

[TargetInvocationException: Exception has been thrown by the target of an invocation.] 
    System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0 
    System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +128 
    System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +146 
    Sitecore.Reflection.ReflectionUtil.InvokeMethod(MethodInfo method, Object[] parameters, Object obj) +89 
    Sitecore.Nexus.Pipelines.NexusPipelineApi.Resume(PipelineArgs args, Pipeline pipeline) +313 
    Sitecore.Web.UI.Sheer.ClientPage.ResumePipeline() +224 
    Sitecore.Web.UI.Sheer.ClientPage.OnPreRender(EventArgs e) +825 
    Sitecore.Shell.Applications.ContentManager.ContentEditorPage.OnPreRender(EventArgs e) +24 
    System.Web.UI.Control.PreRenderRecursiveInternal() +197 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7763 


________________________________________ 
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1073.0 

Hinweis: In diesem Fall all erforderlichen Felder ausgefüllt sind. Ich habe auch versucht, ein (1) Pflichtfeld leer zu lassen, aber das gleiche Problem besteht fort.

ich für das Stichwort gesucht ‚handleId‘ Parameter auf der gesamten Webseite und ich fand diesen Abschnitt auf meinem \ Temp-Ordner _UpgradeHistory, die ich etwas vermutet hat mit dem oben genannten Problem im Innern des Sitecore.Kernel.xml zu tun

<member name="M:Sitecore.Workflows.WorkflowUIHelper.ExtractFieldsFromFieldEditor(System.String)"> 
     <summary> 
     Extract the field values set by the field editor 
     </summary> 
     <param name="handleId">The Id of the handle holding the return values from the field editor</param> 
     <returns>A NameValueCollection containg the fields</returns> 
    </member> 

ich habe auch versucht, über das Internet suchte, aber ich habe keine relative Lösung für mein Problem finden.

Bearbeitet: Ich habe eine neue Instanz von Sitecore v.8.1-U2 erstellt. Ersetzen Sie die Master-DB in der ConnectionString.config der Upgrade-Instanz und die Workflow-Submit-Aktion funktioniert, dann habe ich die aktualisierte Master-Datenbank angefügt und das Problem erneut angetroffen.

Bearbeitet: Ich bemerkte tatsächlich, dass es einen Unterschied in der Dialogbox des Arbeitsablaufs gibt. Es ist klein im Vergleich zu der Arbeitsinstanz, die ein größeres Dialogfeld ist. Siehe Screenshots unten unterstützt:

Abbildung 1: Ein Problem Workflow

Not working workflow

Abbildung 2: Arbeiten Workflow

Working workflow

Ich werde nach eine detailliertere Untersuchung, wenn Ich habe neue Informationen bekommen. Schätze jede Hilfe. Vielen Dank.

+0

Ich habe auch das gleiche Problem nach dem Upgrade. In meinem Fall ist Tontablet in meinem Sitecore installiert und dieser Fehler tritt auf, wenn ich den CT3-Arbeitsablauf einreiche, ohne Kommentare im Kommentarfeld hinzuzufügen. Dies ist in meinem Fall etwas, das mit dem benutzerdefinierten Workflow zusammenhängt. Meine Sitecore-Version ist 8.1-U1. –

+0

@marvin, Wenn Sie Element überprüfen, in der Registerkarte Netzwerk, hat die CommentEditor.aspx Querystring "hdl" einen Wert? Zum Beispiel '/CommentEditor.aspx? Hdl = 8027C389F0DB4976909CB3981F9FDC7A' –

+0

@HishaamNamooya, Die aktualisierte Instanz hat nicht die? HDL Querystring, wenn ich die Registerkarte Netzwerk überprüft. Ich überprüfte auch die frisch installierte 8.1-U2-Instanz und sie war vorhanden. Ich habe auch überprüft, die physische Datei befindet sich hier: \ sitecore \ shell \ Applications \ Workbox und die CommentEditor.aspx für die Aktualisierung und neu installierte Instanz ist identisch. –

Antwort

0

BEARBEITET Da beim Ändern der master-Datenbank der Workflow funktioniert. Dann kommt die Ausgabe mit den Artikeln. Können Sie überprüfen, ob die Vorlage des Workflows mit der Arbeitsinstanz übereinstimmt?

Pfad ist /sitecore/templates/System/Workflow

+0

Danke für Ihre Hilfe. In meinem Fall hängt das Problem jedoch von der Datenbank ab. Ich habe versucht, die Master-Datenbank in eine neu installierte Master-Datenbank von 8.1-U2 zu ändern, und sie funktioniert ordnungsgemäß. Ich habe die Master-Datenbank zurückgesetzt und das Problem tritt erneut auf. Ich habe überprüft, die DLLs und andere Dateien mit WinMerge und ich sehe keine fehlerhafte Ursache dort. –

1

ich das Update und die Ursache gefunden.

Zuerst habe ich das Problem neu erstellt durch einen neuen Workflow ‚WORKFLOW ABC‘ Erstellen unter /Sitecores/system/Workflows, habe ich die notwendigen Maßnahmen, wie Entwurf und veröffentlicht, und dann eine neue Vorlage erstellen und die zuweisen "WORKFLOW ABC". Ich habe auch einen tatsächlichen Artikel erstellt und versucht, den Workflow des Artikels von Senden zu Veröffentlicht zu ändern. Der Fehler ist erneut aufgetreten. (erfolgreiche Replikation des Problems)

Dann habe ich den gleichen Prozess zu einer frisch installierten Instanz und ich konnte das Problem nicht replizieren.

Ursachen:

So verglich ich beide Werte und es gibt eine Diskrepanz, die Standard Kommentar Feld Vorlage leer war (, warum es mir diese so dauerte lange heraus), sondern bestehende die frisch installierte 8.1-U2-Instanz.

Auflösung:

änderte ich den Wert des Standard-Kommentar Feld Vorlage von leer zu \ Templates \ System \ Workflow-\ Standardkommentar Vorlage und erneut testen und es funktioniert.

Screenshot für eine einfache Visualisierung: Sample workflow with empty Default Comment Template field

Sie können auch optional Dialog Höhe Feldwert auf 250, aber dies ist der Standard Kommentar zu aktualisieren.

+0

Dies ist, was ich getan habe, um das Problem zu lösen. Aber ich bin überrascht, dass es standardmäßig in einer neuen Instanz von Sitecore leer ist. –

+0

@MahendraShekhawat, Gut zu wissen, dass es auch für Sie funktioniert. Ich bin mir ziemlich sicher, dass es etwas mit dem Upgrade zu tun hat, ich überprüfte den frisch installierten Sitecore v8.1-U2 und die Felder wurden korrekt ausgefüllt. –

+0

Ich denke, es ist Zeit, Sitecore darüber zu fragen. :) –