Server Variablen unter C++ auslesen
-
( z.B. in der Art "Request.ServerVariables("LOGON_USER")"). Gibt es so eine Möglichkeit auch in C++? (...) mein Server in C++
Was für einen Server bzw. was für ein Framework verwendest du?
-
hallo simon2, hallo hustbear,
sorry für meine späte antwort, habe ein bischen zuviel um die ohren.
Ich muß meine Frage nochmal neu formulieren (möglicherweise bin ich dafür aber im falschen Forum): Von einem Browser aus wird ein Request an den Tomcat geschickt und dort von einem Servlet empfangen. In diesem Request sind u.a. Informationen wie IP-Adresse des Browsers, Benutzername etc. enthalten, die ich auslesen möchte. Die entsprechenden Methoden des Servlets (siehe mein erstes Posting) liefern aber nur Leerstrings. Es scheint, daß der Tomcat diese Infos nichtweiterreicht, d.h. daß irgendeine Einstellung beim Tomcat nicht stimmt. Nur welche?
Falls das hier das falsche Forum ist, bitte sagt mir Bescheid/verschiebt das Posting in die richtige Gruppe.
Danke im Voraus
Guido
-
Wie bitte knotest du Tomcat mit C++ zusammen? Du meinst schon Apache Tomcat, den Java Servlet Server Dingsi, ja?
-
Hi,
zur Erklärung, der Tomcat bzw. das Servlet stellt Eingabemasken und anderes zur Verfügung und sendet die hiermit empfangenen Werte an eine in C++ geschriebene Business-Logik (DLL). Tomcat ist der Servlet-Container (standalone) und kommuniziert mit der DLL über einen Apache-Server.
Da ich eher in der C-Welt zu Hause bin, ist das der Grund für mein erstes Posting.
Guido
-
Dann müsstest Du uns jetzt evtl. nur noch sagen WIE Du von Apache aus mit der C++-DLL kommunizierst. Und dort übergibst Du am besten die gewünschten Werte an die C++-DLL.
-
Hi,
wie schon von hustbaer, Lord und mir formuliert, ist das kein Thema von "C++", sondern von der verwendeten API (von Tomcat ?).
Da bleibt nur zu sagen: Du musst die geeignete Funktion aufrufen ... wenn die das nicht hergibt, kannst Du noch versuchen, das Framework zu patchen, was aber vermutlich mehr Arbeit und Probleme bereitet, als wenn Du Dir einen anderen technischen Weg für Dein fachliches Problem suchst.
Gruß,
Simon2.
-
Hi all,
kurz ein paar Worte zu meinem System: Die Business-Logik ist in einer in C++ geschriebenen DLL verpackt, die ihrerseits vom Apache geladen und als 'Service' zur Verfügung gestellt wird. Angesprochen wird sie durch ein Servlet, welches vom Tomcat geladen wird. Tomcat und Apache kommunizieren via SOAP. Der Tomcat stellt die Schnittstelle nach außenhin dar, da er über einen Browser angesprochen werden kann, liefert die GUI, sammelt Eingaben und sendet diese an den Apache und somit an die DLL.
Mein Problem liegt nicht in der Kommunikationskette sondern darin, daß eine von einem Browser gesendete Anforderung u.a. Daten enthält, die zeigen, wer denn da etwas vom Tomcat will. Und genau an diese Daten will gelangen.
Ich hatte zuerst gedacht, dies sei ein C++ Problem, es ist aber augenscheinlich auf der Java/Tomcat-Seite zu suchen (wie ich jetzt mit Sicherheit weiß). Ich werde wohl in die Java-Ecke wechseln müssen.
Danke
Guido
-
Äh. Woher soll denn der Apache und die darin geladene C++ DLL irgendwelche Dinnge über einen Request kennen den ein ganz anderer Prozess, nämlich der Tomcat, entgegengenommen hat?
Der Tomcat bekommt einen Request rein, und fragt dann per SOAP beim Apache nach. Ergo kann der Apache auch nur die Daten des SOAP Requests kennen, nicht aber die des ursprünglichen Requests.Aber ehrlich, wer baut denn sowas? Ich meine... das ginge doch sicher einfacher.
-
Sorry, Doppelpost, Forum spinnt.
Schreibt irgendwas vonwegenSpinnertes Forum schrieb:
Failed sending email :: PHP ::
DEBUG MODE
Line : 234
File : emailer.php
-
hustbaer schrieb:
Sorry, Doppelpost, Forum spinnt.
Schreibt irgendwas vonwegenSpinnertes Forum schrieb:
Failed sending email :: PHP ::
DEBUG MODE
Line : 234
File : emailer.phpSorry OT, aber genau diesen Fehler hatte ich Heute Nachmittag auch 2 mal. Beim ersten mal musste ich auch editen.
-
Hi hustbaer,
> Äh. Woher soll denn der Apache und die darin geladene C++ DLL irgendwelche Dinnge über einen Request kennen ...
richtig, das war mein Denkfehler. Im Prinzip liegen drei getrennte Prozesse vor, nämlich der Browser auf Rechner A, der Tomcat auf Rechner B und der Apache nebst DLL auf Rechner C. Die Request-Infos bekommt natürlich nur der Tomcat geschickt, der muß sie dann weiter an den Apache leiten.
Diese etwas seltsame Struktur ist historisch begründet, alleweil man ca 1000 C++ Klassen nicht gerne nach Java konvertieren möchte
Gruß Guido