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:

  1. Látogasson el a website jax-ws.java.net
  2. Töltse le a JAX-WS RI könyvtárak a helyi merevlemezt (vagy a helyi SSD)
  3. Az archívum kibontása
  4. 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: