# Webservice (JaxWS) extern verfügbar machen



## miwieg (1. Jun 2011)

Hallo,

Ich möchte einen Webserver aufsetzen und ihn extern verfügbar machen (also nicht nur lokal mit "localhost").
Ich möchte das in JaxWS schreiben, benutze NetBeans als IDE und Glassfish als Server.
Glücklicherweise hat man mir auf diesem Forum den Link zu einem Tutorial gegeben
http://netbeans.org/kb/docs/websvc/jax-ws.html
Das war echt gut nachvollziehbar, und die Beispiele laufen bei mir auch lokal.

Was muss ich nun machen, wenn ich den Server auch von außerhalb ansprechbar lassen möchte?
Gibt es dazu vielleicht im Netz eine Beschreibung (Ich habe bis dato nichts gefunden).

Vielen Dank im Voraus!


----------



## fax (6. Jun 2011)

Normalerweise ist GlassFish automatisch von außen ansprechbar, wenn man nicht an der Konfiguration gedreht hat. Such mal im Netz nach Port Forwarding, um deinen Router passend zu konfigurieren.


----------



## miwieg (8. Jun 2011)

Nehmen wir einmal an, der Port ist schon freigeschaltet, der Service läuft über den Server (Glassfish), der ebenfalls hochgefahren ist. 
Das Problem, das ich habe, ist, dass ich nicht weiß, wie die WSDL Datei -- die ja der Client benötigt -- entsprechend generiert wird.
Genauer: im Tutorial http://netbeans.org/kb/docs/websvc/jax-ws.html
gibt es einen Schritt beim Erstellen des Clients, der die Ortsbestimmung der WSDL-Datei betrifft. Das Fenster in NetBeans heißt "WSDL and Client Location" (siehe Tutorial!). Was muss der Client (dieser kann ja auf irgendeinem anderen Rechner außerhalb arbeiten) wo in diesem Fenster angeben, so dass er die WSDL-Datei erhält. Ich schätze, er muss im Feld "WSDL URL" etwas angeben? Wenn ja, wüsste ich gerne, was dort angegeben werden muss?


----------



## fax (8. Jun 2011)

Nehmen wir mal an, deine Webapp ist unter http://www.test/web1/ zu finden. Als du den Web Service erstellt hast, hast du ihm einen Namen gegeben, z.B. WebDienst1. Den Web Service kannst du dann direkt unter http://www.test/web1/WebDienst1 ansprechen. Das WSDL bekommt man dann, indem man ?wsdl an die URL anhängt: http://www.test/web1/WebDienst1?wsdl

JAX-WS erkennt übrigens, wenn man mit einem Browser anstatt einem SOAP Client auf http://www.test/web1/WebDienst1 zugreift und liefert dann eine HTML Seite mit Informationen über den Web Service aus, u.a. auch die Adresse des WSDL.


----------



## miwieg (8. Jun 2011)

Vielen Dank für die sehr verständliche Klarstellung! Noch eine Frage: diesen Pfad gebe ich dann auch wirklich bei "WSDL URL" und nicht wie gewohnt bei "Project" an?


----------



## fax (8. Jun 2011)

Ja. Project ist eigentlich nur eine Komfortfunktion, um die WSDL URL automatisch zu ermitteln.


----------

