ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
1760
1760
EMPFEHLEN
-
17.03.09 09:53 #1
- Registriert seit
- May 2006
- Beiträge
- 110
Hallo zusammen,
ich habe ein Problem mit Webservices in java.
Ich habe dieses Tutorial durchgearbeitet, was übrigens sehr gut geschrieben ist:
http://www.theserverside.de/webservice-in-java/
Das ganze funktioniert auch soweit es im Tutorial beschrieben ist. Nur möchte ich jetzt den webservice auch auf einem anderen Rechner aufrufen können, was ja auch der Sinn eines Webservices.
Mein Problem ist Folgendes:
Wenn ich die Adresse http://localhost:8080/calculator?wsdl ,die mir auf dem Webservicehoster die wsdl datei anzeigt, das localhost durch den rechnername oder dessen ip ersetze und dies dann in einem Client Browser angebe erhalte ich einen 404. Also zB http://WebserviceHostName:8080/calculator?wsdl
Auf dem Host befindet sich noch keine Firewall, Virenscanner und auch die Windowsfirewall (XP) ist deaktiviert.
Wo liegt mein Fehler?
Schonmal Danke.
Gruß
edit: Ich kann den Host vom Client aus anpingen.
-
19.03.09 10:52 #2
- Registriert seit
- May 2006
- Beiträge
- 110
ok ich formuliere die Frage anders:
Wenn ich meinen Webservice folgendermaßen veröffentliche:
Code :1 2 3
Calculator server = new Calculator(); Endpoint endpoint = Endpoint.publish("http://localhost:8080/calculator", server);
Wie kann ich diese so entstehende wsdl dann von einem remote Client-Rechner abrufen?
Soweit ich es verstehe müsste die browser-adresse so lauten:
http://WebserviceHostName:8080/calculator?wsdl
-
Hallo,
ich habe das selbe Problem. In der Server-Klasse habe ich anstatt localhost bereits den Servernamen angegeben, also z.B. so:
Code :1
Endpoint endpoint = Endpoint.publish("http://hostname:8080/hello", server);
Damit kann ich vom selben Rechner auf http://hostname:8080/hello?wsdl zugreifen - nicht jedoch von fremden Rechnern.
Das kann man auch einfach mit einem telnet hostname 8080 testen:
- vom lokalen Rechner OK
- von fremden Rechnern
Sieht also so aus, dass der WebService in Java 6 nur Anfragen von localhost annimmt. Kann das jemand bestaetigen?
Frank
-
23.03.09 09:26 #4
- Registriert seit
- May 2006
- Beiträge
- 110
Hallo,
dann bin ich da wohl nicht alleine
Aber dass Webservices nur von localhost ansprechbar sind bezweifle ich irgendwie. Da wäre ja der Sinn eines Webservice total verfehlt.
Wäre super wenn uns da jemand Auskunft geben könnte.
-
Da hast du schon Recht, aber es kann ja sein, dass die in Java 6 bereits enthaltenen Funktionen fuer WebServices nur localhost zulassen. Als Sicherheitsfunktion oder sowas. Ist aber nur ins Blaue geschossen ...
-
23.03.09 18:52 #6
- Registriert seit
- May 2006
- Beiträge
- 110
Hi,
hab das problem selbst gelöst.
Scheinbar liegt es am localhost.
Wenn der Service von extern auffindbar sein soll muss es so lauten:
Code :1
Endpoint endpoint = Endpoint.publish("http://NAMEDESSERVERRECHNERS:8080/hello", server);
-
Und das hat bei dir funktioniert? Hab ich naemlich gleich als erstes ausprobiert: Vom lokalen Host funktioniert's (ueber hostname anstatt localhost), von fremden Rechnern aus aber nicht.
-
24.03.09 10:37 #8
- Registriert seit
- May 2006
- Beiträge
- 110
ja bei mir funktioniert es so (endlich). Vielleicht hast du ne Firewall/Virenscanner an der blockiert.
-
nope, nichts dergleichen.
Ähnliche Themen
-
Restful Webservices with Jersey and Java - Tutorial
Von vogella im Forum Java Technology NewsAntworten: 0Letzter Beitrag: 18.02.10, 04:33 -
Einfache Webservices unter Java 6 Mustang
Von Thomas Darimont im Forum JavaAntworten: 20Letzter Beitrag: 06.06.07, 10:58 -
Hilfe beim Einstieg WebServices
Von friedak im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 21.04.07, 18:55 -
Fehlermeldung beim Webservices erstellen.
Von anamanana im Forum PHPAntworten: 2Letzter Beitrag: 13.02.07, 21:27 -
Hilfe beim Veröffentlichen
Von dickdirty im Forum Flash PlattformAntworten: 2Letzter Beitrag: 31.05.04, 14:33





Zitieren
Login





