tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
1760
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    danielandross danielandross ist offline Mitglied Gold
    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.
     

  2. #2
    danielandross danielandross ist offline Mitglied Gold
    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
     

  3. #3
    fbn fbn ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    7
    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
     

  4. #4
    danielandross danielandross ist offline Mitglied Gold
    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.
     

  5. #5
    fbn fbn ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    7
    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 ...
     

  6. #6
    danielandross danielandross ist offline Mitglied Gold
    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);
     

  7. #7
    fbn fbn ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    7
    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.
     

  8. #8
    danielandross danielandross ist offline Mitglied Gold
    Registriert seit
    May 2006
    Beiträge
    110
    ja bei mir funktioniert es so (endlich). Vielleicht hast du ne Firewall/Virenscanner an der blockiert.
     

  9. #9
    fbn fbn ist offline Rookie
    Registriert seit
    Dec 2008
    Beiträge
    7
    nope, nichts dergleichen.
     

Ähnliche Themen

  1. Restful Webservices with Jersey and Java - Tutorial
    Von vogella im Forum Java Technology News
    Antworten: 0
    Letzter Beitrag: 18.02.10, 04:33
  2. Einfache Webservices unter Java 6 Mustang
    Von Thomas Darimont im Forum Java
    Antworten: 20
    Letzter Beitrag: 06.06.07, 10:58
  3. Hilfe beim Einstieg WebServices
    Von friedak im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 21.04.07, 18:55
  4. Fehlermeldung beim Webservices erstellen.
    Von anamanana im Forum PHP
    Antworten: 2
    Letzter Beitrag: 13.02.07, 21:27
  5. Hilfe beim Veröffentlichen
    Von dickdirty im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 31.05.04, 14:33