Socketverbindung auf localhost:8080/my-subfolder

eagle1985

Mitglied
Hallo zusammen,

hab da ne Frage zu Java-Sockets.

Weiss jemand wie ich auf folgende URL(http://127.0.0.1:8080/subfolder/subfolder/page) eine Socketverbindung erzeugen kann?

mit new Socket(127.0.0.1/subfolder/subfolder/, 8080) krieg ich immer ein ungültiger Host Exception

Hat jemadn eine Idee, ohne dass ich Fremd-Libraries hinzufügen muss?

greez eagle
 
Hi.
Weiss jemand wie ich auf folgende URL(http://127.0.0.1:8080/subfolder/subfolder/page) eine Socketverbindung erzeugen kann?
Die Frage ist schonmal etwas falsch. Man kann sich mit einem Socket auf einem bestimmten Port auf einem bestimmten Rechner verbinden. D.h. du möchtest dich auf 127.0.0.1 Port 8080 verbinden:
Java:
Socket s = new Socket("127.0.0.1", 8080);
Dann möchtest du über den Socket anscheinend das HTTP Protokoll verwenden und eine GET Anfrage auf den Pfad /subfolder/subfolder/page stellen. Du kannst dafür z.B. gleich die URL Klasse verwenden:
Java:
InputStream s = new URL("http://127.0.0.1:8080/subfolder/subfolder/page").openStream();
Gruß
 
Danke für den Hinweis,

eigentlich möchte ich einen SOAP-Request an diese URL senden und nicht nur eine GET-Anfrage.

Habe mal folgendes probiert:
Code:
         // SOAP-Request
         String xmldata = "<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>" +
            "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://127.0.0.1/myshema/web\">" +
            "  <soapenv:Header/>" +
            "  <soapenv:Body>" +
            "    <web:Request>" +
            "      <web:Anfrage>" +
            "        <web:XML>Base64XML</web:comparisXML>" +
            "        <web:Ausweisen>true</web:offerteAusweisen>" +
            "        <web:dokumentErstellen>true</web:dokumentErstellen>" +
            "      </web:Anfrage>" +
            "    </web:Request>" +
            "  </soapenv:Body>" +
            "</soapenv:Envelope>";

         URL url = new URL("HTTP", "127.0.0.1", 8080, "/webservice/calculate");
         URLConnection urlcon = url.openConnection();
         urlcon.setDoOutput(true);
         urlcon.setDoInput(false);


         BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(urlcon.getOutputStream(), "UTF-8"));
         wr.write(xmldata);
         wr.flush();

         // Respond
         urlcon.setDoOutput(false);
         urlcon.setDoInput(true);
         BufferedReader rd = new BufferedReader(new InputStreamReader(urlcon.getInputStream()));
         String line;
         System.out.println("+----------------------------------------------------------------------------------------");
         while ((line = rd.readLine()) != null)
            System.out.println("| " + line);
         System.out.println("+----------------------------------------------------------------------------------------");

leider mache ich immernoch irgendwas falsch
 
Moin

leider mache ich immer noch irgendwas falsch

Aha - es wäre hilfreich zu beschrieben, welcher Fehler Dir gemeldet wird ....

Mal so auf die Schnelle:
Java:
URL url = new URL("HTTP", "127.0.0.1", 8080, "/webservice/calculate");

Müsste der Proxyeintrag nicht ebenfalls in Hochkommata stehen :confused:

Gruß
Klaus
 
Hallo,

habe den Fehler gerade gefunden,

schuld war, dass ich
Code:
urlcon.setDoOutput(true);
urlcon.setDoInput(true);
2 mal gesetzt habe, habe es nun wie oben am Anfang beide auf True gesetzt.

Habe übrigens kein Proxy gesetzt, 8080 bezieht sich auf den Zielport des Tomcat-Servers.

besten Dank für eure Hilfe
 
Zurück