Tridion CWA 2011 Binärdateien geben 404 bis Refresh zurück

7

Mein Client hat ein Problem, nachdem er von CWA 1.5 auf CWA 2011 unter WebSphere aktualisiert hat. Das Problem besteht darin, dass alle angeforderten binären Ressourcen eine 404 zurückgeben. Wenn die Anforderung erneut übermittelt wird (d. H., Die Seite wird aktualisiert / neu geladen), werden sie geladen.

Ich habe keinen Zugriff auf ihre Umgebung und muss alle Konfigurationsdateien über Dritte beziehen. Ich habe mich gefragt, ob irgendjemand irgendwelche Ideen von der Spitze hat, was diese 404s auf Binärdateien verursachen könnte?

    
Nickoli Roussakov 06.02.2013, 13:43
quelle

6 Antworten

3

Für WebSphere 7 ist das Standardservlet als FileServlet bekannt, und daher sollte Folgendes funktionieren:

%Vor%     
Elena Serghie 07.02.2013, 18:43
quelle
12

Beginnend mit WebSphere 6.1 hat IBM das Verhalten von Filtern geändert, und diese werden nicht ausgeführt, wenn die URL, die Sie aufrufen, nicht auf dem Server existiert.

Dies bedeutet, dass eine Anfrage für /somefile.png, die sich noch in der Datenbank befindet, zu einem (technisch korrekten) 404 führt, aber nicht zu dem, was Sie von einer CWA-aktivierten Webanwendung erwarten.

Die Lösung besteht darin, den Filter für eine Anforderung ohne eine Servlet-Zuordnung aufzurufen, und Sie sollten in der WebSphere Admin-Konsole Folgendes ausführen können:

  1. Klicken Sie auf Server - & gt; Servertypen - & gt; Websphere-Anwendungsserver - & gt; - & gt; Web-Container-Einstellungen - & gt; Webcontainer
  2. Unter zusätzlichen Einstellungen klicken Sie auf benutzerdefinierte Eigenschaften
  3. Klicken Sie auf der Seite mit den benutzerdefinierten Eigenschaften auf Neu und geben Sie "com.ibm.ws.webcontainer.invokefilterscompatibility" als Eigenschaftsnamen und "true" als Wert
  4. ein
  5. Speichern Sie das Update und starten Sie den Server neu
Elena Serghie 06.02.2013 15:31
quelle
4

Es ist lange her, seit ich CWA benutzt habe, aber IIRC serialisiert die Binärdateien auf Festplatte und speichert sie für zukünftige Anfragen. Es hört sich so an, als würde dieser Prozess einfach zu lange dauern, so dass Sie die erste Anfrage für eine Binärdatei erhalten. Ich habe schon früher von WebSphere gehört. Sind Sie sicher, dass es auch mit dem alten CWA nicht funktioniert?

Wenn das Problem weiterhin besteht, schlage ich vor, den SDL-Kundensupport zu kontaktieren.

    
Chris Summers 06.02.2013 13:52
quelle
3

In der Datei cd_cwa_conf.xml können Sie auch den folgenden Parameter hinzufügen:

%Vor%

Wie Chris gesagt hat, wird das erste Mal, wenn eine Binärdatei angefordert wird, die Datei serialisiert und auf der Festplatte zwischengespeichert. Wenn der Prozess zu lang ist, gibt der Anwendungsserver einen 404 zurück.

Mit diesem Parameter wartet das System vor dem Zugriff auf die Datei einige Sekunden (dh den angegebenen Wert).

Wir hatten das gleiche Problem mit einem Tomcat-Server und das hat den pb behoben.

    
Sébastien PRAT 06.02.2013 18:46
quelle
3

Ich denke, es gibt ein wenig Verwirrung darüber, worum es genau geht. Also erklärt Nick, dass eine erste Anfrage für eine Binärdatei zu einem 404 führt. Alle nachfolgenden Anfragen dienen der Binärdatei wie erwartet. Daher ist die Antwort, die Elena gab, nicht wirklich die Lösung für dieses Problem, obwohl sie sehr korrekt sagt, dass diese spezielle Einstellung tatsächlich in WebSphere erstellt werden muss.

Die Antwort auf das Problem, eine 404 nur bei der ersten Anfrage zu erhalten, besteht in einer expliziten Zuordnung in der web.xml-Datei für jeden URL-Muster-Binärtyp zum Standard-Servlet. Dies wird in Ссылка , Punkt 6:

beschrieben %Vor%

Die Dokumentation besagt, dass dies JBoss, Tomcat behebt, aber ich habe auch festgestellt, dass es WebLogic repariert. Ich hoffe, dass es auch WebSphere repariert. Bitte lass es uns wissen.

    
Mihai Cădariu 06.02.2013 23:28
quelle
1

Seien Sie vorsichtig, wenn Sie Tomcat 7 (und wahrscheinlich die neuesten Versionen von Tomcat 6) verwenden. Die Art und Weise, wie web.xml-Dateien zusammengeführt werden, unterliegt einer Einschränkung.

Ich weiß nicht genau warum, aber Sie können nicht mehrere Zuordnungen zum Standard-Servlet definieren. Sie können nur einen Zuordnungseintrag für dieses Servlet haben.

Vielleicht im Zusammenhang damit: Ссылка

Sie können diese Grenze übrigens umgehen, indem Sie auch die Standardzuordnung neu definieren.

Beispiel: Folgendes funktioniert nicht mit Tomcat 7.0.33. Alle Ressourcen sind in 404-Fehler.

%Vor%

Das Folgende funktioniert perfekt

%Vor%

Ich hoffe, es hilft.

    
Sébastien PRAT 26.03.2013 18:28
quelle