2010-12-08 23 views
0

Es geht um mod_perl2 Filter.Filter funktioniert nicht wie erwartet

Idealerweise ist ein Job des Filters, etwas mit Eingabedaten zu tun & die Daten an den nächsten Filter oder die tatsächlich angeforderte Ressource weiterzugeben.

In meinem Fall habe ich einen PerlInputFilterHandler für ein URL-Muster definiert. Siehe unten Lage tag:

<Location /testproj/AServlet> 
SetHandler modperl 
PerlInputFilterHandler MyApache2::Test10 
</Location> 

Dieser Filter (test10) soll Anforderungsdaten & Pass auf Kontrolle AServlet (ein Servlet implementiert auf WebLogic Server) ändern.

Dieser Filter wird zwar aufgerufen, übergibt jedoch keine Kontrolle an AServlet - egal, was ich im Filter schreibe. Warum?

Danke.

+0

Die Antwort auf den Inhalt Ihres PerlInputFilterHandler abhängen kann, insbesondere im Hinblick darüber, ob es die Steuerung an den nächsten Handler übergibt. Bitte posten Sie hier ein kleines in sich geschlossenes Beispiel, das das Verhalten zeigt, das Sie erfahren. – mfontani

+0

Code ist in http://stackoverflow.com/questions/4367000/error-in-generating-response-from-perlinputfilterhandler – daxim

Antwort

0

Versuchen Sie, die SetHandler Zeile zu entfernen. Es teilt Apache mit, dass die Inhaltsphase der Anfrage von mod_perl behandelt werden sollte, aber es klingt so, als ob die Inhaltsphase anderswo behandelt werden sollte. Die PerlInputFilterHandler-Direktive sollte auch dann wirksam werden, wenn der Hauptinhaltshandler nicht modperl ist. Wenn der Content-Handler von mod_perl getan wird, sollten Sie auch eine PerlResponseHandler

gesetzt
+0

Dies funktionierte. Vielen Dank! –

Verwandte Themen