Aiun Geschrieben 22. Januar 2006 Geschrieben 22. Januar 2006 hi, für ein Projekt möchte ich eine Java-Anwendung über CGI ansteuern. Da das scheinbar nicht so einfach geht, habe ich ein Perl-SCript geschrieben das mir über qx(...) das JAva aufruft und die Rückgabe ausgeben soll. Aus laufzeitumgebung habe ich hier einen XAMPP auf einem Windows-XP System. Rufe ich das Perl-Script über die WIndows-Console auf, keni Problem. Wird auch das Java gestartet und die Rückgabe kommt raus. Allerdings scheint es so, als ob Java "nach" dem Perl-Script gestartet wird. Also alle perl outputs sind vor den JAva-Outputs. Mache ich das ganze über den Browser und CGI, so bekomme ich nur den Aufruf bis zur qx(..) Zeile. Alles danach ist weg. hier das Script: #!H:\xampp\perl\bin\perl.exe print "Content-type: text/html\n\n"; print "<html>"; print "test"; $output = qx(java -cp h:/xampp/cgi-bin/ Quadrat) || die "Datei nicht gefunden"; print "test"; print $output; irgend eine Idee, wie ich das hinkriegen könnte ? Zitieren
Markus.K Geschrieben 23. Januar 2006 Geschrieben 23. Januar 2006 irgend eine Idee, wie ich das hinkriegen könnte ?Fehlt da nicht ein use [...]; oder require [...];? Das würde erklären, warum die qx-Zeile nicht ausgeführt wird. Naja, dass das Teil über die Konsole anspringt, ist noch ein wenig verwunderlich. Bei solchen Fällen empfiehlt sich für die Entwicklung ein use CGI::Carp qw(fatalsToBrowser); am Anfang (müsste auf XAMPP auch gehen) oder schlimmstenfalls ein Blick ins Apache error.log, siehe \Apache\logs\error.log. Da dürfte meistens ein Hinweis zu finden sein, warum das Prg hier absemmelt. Zitieren
Markus.K Geschrieben 23. Januar 2006 Geschrieben 23. Januar 2006 Quatsch, ist doch viel naheliegender... Auf der Konsole wird java (das Programm javac.exe oder wie es heisst) gefunden, weils im DOS-Path liegt, über den Apache wirds nicht gefunden, weil der Path keine Rolle spielen sollte. Nur so eine Idee von mir... ob da was dran ist? Zitieren
Aiun Geschrieben 23. Januar 2006 Autor Geschrieben 23. Januar 2006 erste Tests zeigen das du recht haben könntest ^^ gebe ich den absoluten Pfad zur java.exe an, geht es auch über CGI. Was ich jetzt noch testen muss ist die Frage der Reihenfolge der Ausgaben. Zitieren
Aiun Geschrieben 23. Januar 2006 Autor Geschrieben 23. Januar 2006 aus irgend einem Grund sind Java-Ausgaben immer nach allen Perl Ausgaben, auch wenn das print nach dem qx steht. Aber gut, das ist mir egal Als nächstes muss ich rausfinden wie ich Parameter (GET, POST etz) die aus HTML kommen könnten über Perl in java kriege.....das dürfte aber nicht sooo das Problem sein. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.