Webszolgáltatás JAX-WS
Ebben a bejegyzésben vegyünk egy példát: létrehozunk egy webes szolgáltatás JAX-WS specifikáció.
Kezdjük azzal, hogy általában olyan kifejezést «JAX-WS specifikáció.” Általában ez azt jelenti, hogy van egy szabvány, a JAX-WS, vagy ha teljesen Java API for XML Web Services, amely meghatározza bizonyos szabályok vagy a szerződés, amelyet el kell követni annak végrehajtását. Tehát ebben a cikkben nem fogjuk eladni, a szerződés feltételei, akkor használja ezt a szerződést. Vagy inkább, mi használjuk a konkrét megvalósítása JAX-WS specifikáció. A világ számos implementációja JAX-WS specifikáció, jól, mint az Apache Axis2.
Ez a legfontosabb dolog, hogy megértsük, hogy a JAX-WS nem könyvtár, nem egy keret, nem alkalmazás, akkor valószínűleg ez a dokkoló, amely leírja a specifikációk szerint kell végrehajtani konkrét keretet. Ebben a példában fogunk létrehozni a webszolgáltatás eltekintünk sajátos keretek, hogy van, csak támaszkodnak a specifikáció. Mit jelent ez? Ez azt jelenti, hogy megfelelően a JAX-WS specifikáció. Webes felületen rendelni a szolgáltatást, meg kell alkalmazni a kommentár @WebService gondolkodás nélkül, ha ezt a jelölést készítették. Mi csak tudjuk, hogy a kommentár @WebService köteles megfelelően JAX-WS specifikáció. De akkor, amikor a deploinga a szerverre, akkor mi lesz dönteni a végrehajtás a leírás. A mi esetünkben, hogy GlassFish. hogy fogják használni tomcat végrehajtására JAX-WS RI. Csak glasfishom ő megy ki a dobozból, de mi lesz, hogy tomcat dokinut végrehajtása JAX-WS RI kézzel dzharniki amit letöltött az irodában. jax-ws.java.net telek és tedd a lib könyvtárban a servlet, amit deploit a Tomcat Servlet konténer.
Mi az a Web Service
Szolgáltatás részét. A szerkezet a projekt
Írjunk egy olyan internetes szolgáltatás, amely kiszámítja a terület geometriai formák, mint például a kör vagy téglalap. A kliens oldalon kerül meghatározásra, a terület egy alakot akarunk eljutni, majd az adatokat a geometriai alakzat továbbítják a webhely és a web szolgáltatás után tér vissza az adatterület az ábra.
Web szolgáltatás áll hat Java osztályok, amelyek magukban foglalják a Figure.java felületen. Circle.java lényegét és Rectangle.java. faktorizáció geometriai formák FigureFactory.java. Webszolgáltatás saját maga és a PrintFigureService.java implimentatsiyu PrintFigureImpl.java:
A szerkezet a projekt
Az első keret úgy tűnik, hogy a Java osztályok kerülnek az alapértelmezett csomag, sőt, mindegyiknek megvan a csomag kulcsszó jelezve prinadlzhenost egyes osztályok a csomagban, így fordítás után osztályok bővül a kívánt könyvtárban csomagokat.
A Linux (legalábbis Ubuntu / menta), akkor ezt megteheti hét van, ezért legyen óvatos.
Amellett, hogy a Java osztályok továbbra is két konfigurációs xml fájl web.xml a servlet konténer és a nap-jaxws.xml hol lesz tájékoztatás a végpontot.
Megépítése után a projekt a projekt gyökérkönyvtárában, épít egy háborús kész archívumot deploya epplikeyshn a szerveren:
Hozzáadás src java kódot.
Figure.java
Circle.java
A konfiguráció a webszolgáltatás
Adjunk hozzá két xml fájlt a WEB-INF könyvtárban a projekt.
sun-jaxws.xml
Összeállítása webes szolgáltatás
Hagyományosan állítjuk össze shell script.
Miért nem használja kényelmesebb eszközök, mint a Maven vagy ant. Ahhoz, hogy megértsük az egész gyülekezet fázisban a projekt, amely a gyűjtők elrejteni, mindent meg kell tenni, hogy a kezét, és akkor lépni a gyűjtők. Azaz, a harc akkor kell használni, a gyűjtők, de tanulmányai során, hogy menjen végig a szakaszában a projekt a szerelvény.
Adjuk hozzá a projekt gyökér build.sh fájlt, és adjuk hozzá a következő szkriptet:
Miután hozzáadtuk a shell script, hogy futtatható legyen, a következő parancsot:
Majd a projekt gyökérkönyvtárában, épít, amely alapján kerül sor a háború fájlt print-figura-service.war.
A teljes projekt teljes szerver oldali letölthető itt:
Telepíteni egy webes szolgáltatás a GlassFish
Telepíteni egy webes szolgáltatás a Tomcat
Ha deploim a epplikeyshn GlassFish szervert a szolgáltatás működik, de ténylegesen deploya több mást tenni. De a szolgáltatási szerzett Tomcat servlet container (ez egy kicsit nem ugyanaz, mint epplikeyshn szerver), akkor is dokinut néhány könyvtárak alapértelmezett tomkatom nem megy. Ez a könyvtár egyik megvalósítási JAX-WS webes szolgáltatások. Ehhez:
- Látogasson el a website jax-ws.java.net
- Töltse le a JAX-WS RI könyvtárak a helyi merevlemezt (vagy a helyi SSD)
- Az archívum kibontása
- Szereplők a könyvtár tartalmát lib. amely megtalálható jaxws-ri könyvtárban vagy a lib könyvtárban Tomcat, vagy a WEB-INF / lib könyvtárban a projekt.
Teljesen szerver része lehet letölteni használható Tomcat az alábbi linkre:
Webszolgáltatás teszt
Az ügyfél részéről. A szerkezet a projekt
Miután a szolgáltatás jön létre, és zadeploin, folytassa a kliens oldalon. Az ügyfél mi lesz az azonos osztályba, amely bekéri a területi adatokat az átadott paramétereket.
Felépítése a projekt az ügyfél az első pillantásra egyszerűnek tűnik:
De megkezdése után build.sh script a könyvtár struktúrát lesz amellett, hogy a katalógusban építeni egy másik könyvtárba webszolgáltatás:
Mi ez a katalógus, és hogy? Az a tény, hogy amikor a szkript fut fut a csapat indítási segédprogram wsimport:
A wsimport közművek a projektben betöltött osztályok, amelyek lehetővé teszik az ügyfél, hogy befolyásolja a webes szolgáltatás, mint maga az ügyfél, hogy befolyásolja a webszolgáltatás nem tudja, hogyan. Ezekben az osztályokban meghatározott logika, amely lehetővé teszi, hogy csatlakozzunk a szolgáltatáshoz, hívja távoli módszereket, hogy át paramétereket, kap választ, és így tovább.
Client.java
Összeállításához és futtatásához a kliens
Add az ügyfél projekt gyökér build.sh file:
A teljes projekt teljesen kliensoldali letölthető itt: