Létrehozása szappan web-szolgáltatás, tavaszi orosz!
Ez a lecke a borító lépésről lépésre létrehozása SOAP web szolgáltatások szerver segítségével Spring.
Hogy hozzon létre
Akkor létrehoz egy szervert, amely adatokat a különböző európai országokban, a WSDL SOAP webes szolgáltatás.
Egy egyszerű példa, akkor használja a rögzített adatokat az Egyesült Királyságban, Spanyolországban és Lengyelországban.
Amire szüksége
Hogyan szedjem ezt a leckét
Mint a legtöbb órák Spring, akkor nulláról indul, és egyes lépéseket vagy hagyja az alapvető lépéseket, hogy már ismerik. Mindenesetre, akkor előbb-utóbb működő kód.
Ha befejezte. Össze lehet hasonlítani a kapott eredményt a minta gs-termelő-web-szolgáltatás / teljes.
Beállítása a projekt
Kezdeni, meg kell, hogy hozzanak létre egy alap szkriptet. Használhatja bármilyen épít rendszert szeretne építeni proetov Spring, de ebben a leckében úgy a kódot, hogy működjön együtt Gradle. Ha nem ismeri fel automatikusan, ellenőrizze a megfelelő tanulságot Java-Build projekt segítségével Gradle.
Létrehozása Directory felépítése
A kiválasztott projekt könyvtárba hozza létre a következő könyvtár felépítése; Például a parancs mkdir -p src / main / java / szia * nix rendszerek:
Hozzon létre egy összeállítási fájl Gradle
Az alábbiakban az eredeti Gradle építeni fájlt. Ha ön használ Spring Tool Suite (STS). importálhat egy leckét jobb belőle.
Ha megnézzük a pom.xml. azt találjuk, hogy a verzió a maven-compiler-plugin. Általában ez nem ajánlott. Ebben az esetben az a célja, hogy megoldja a problémákat, a mi CI rendszer, amely alapértelmezés szerint az a régi (mielőtt Java 5) változata a plugin.
Tavaszi boot Gradle bővítmény számos hasznos funkciók:
- Ő gyűjti össze az összes jar'y classpath és gyűjti egyetlen végrehajtható „über-jar”, hogy kényelmesebbé teszi a végrehajtás és a szállítás a szolgáltatás
- Ő keres public static void main () metódus, jeleként a végrehajtható osztály
- Ez egy beépített függőség, különös verziószámok sootvetsvujushchih Spring boot függőségeket. Ön felülbírálhatja bármely változata, amit akar, de ez lesz az alapértelmezett a kiválasztott sor változatai boot
Hozzáadása Spring-WS függően
Alkotó projekt akkor tartalmaznia kell az építmények fájl függően rugós ws-core és wsdl4j.
Létrehozása XML séma határozza meg a domain
webes szolgáltatás domain leírt XML séma fájl (XSD), amely Spring-WS automatikusan exportálni WSDL.
Hozzon létre egy XSD fájlt műveletek visszatérni nevét. lakosság számára. tőke és a pénznemet.
Létrehoz tartomány alapján osztályokba XML-séma
Sledubschim lépés generál Java osztályok az XSD fájlt. A legjobb megoldás az, hogy hozzon létre őket automatikus összeszerelési folyamat segítségével Maven vagy Gradle dugót.
A konfiguráció a maven bővítmény:
A létrehozott osztályok kerülnek a cél / generated-források / JAXB / könyvtárban.
Ugyanaz a Gradle:
A következő lépés - hozzátéve getJaxb feladat. Gradle előállításához szükséges Java osztályok:
mert Gradle JAXB nincs plugin (még), ez magában foglalja a hangya probléma, ami a szerelvény fájl egy kicsit bonyolultabb, összehasonlítva a Maven build fájlt.
Mindkét esetben a folyamat generáló tartozó objektumok életciklusának a szerelvény, így az egyes lépéseket a folyamat elindításához nem szükséges.
Létrehozása adattár
Ahhoz, hogy a webes szolgáltatás adatok A tároló létrehozása. Ebben a leckében egy egyszerű adattár az adathalmaz.
Létrehozunk egy szolgáltatási kilépési pontok
A szolgáltatás létrehozásához kilépési pontot, csak akkor kell egy POJO néhány Spring WS kommentárok a beérkező SOAP kéréseket.
@Endpoint regisztrálja Spring WS osztály, mint potenciális jelölt a beérkező SOAP üzenetek
@PayloadRoot használja Spring WS kiválasztásához kezelő eljárás névtér és Localpart üzenetét
@RewuestPayload azt jelzi, hogy egy beérkező üzenet van leképezve kérési módszer
@ResponsePayload teremt megfelelő értéket által visszaadott érték a hasznos része a választ.
Mindezen kódrészletek io.spring.guides osztályok fog dobni egy fordítási hiba a IDE, amíg nem fut a feladatot generál a domain alapján osztályokba WSDL.
Konfigurálása bab webes szolgáltatás
Hozzon létre egy új osztályt, amely kapcsolatban áll a konfiguráció Spring WS urnák:
- Spring WS használ egy másik típusú servlet feldolgozására SOAP üzenetek: MessageDispatcherServlet. Fontos, hogy végre, és telepíteni ApplicationContext. Enélkül Spring WS tavaszi babot nem érzékeli automatikusan
- Terming ezt a bin dispatcherServlet. helyettesíti Spring boot bin alapértelmezett DispatcherServlet
- DefaultMethodEndpointAdapter rááll a programozási modell kommentárok Spring WS. Ez lehetővé teszi, hogy használja a különböző jelölések, mint @Endpoint. a korábban említett
- DefaultWsdl11Definition egy szabványos WSDL 1.1 használatával XsdSchema
Létrehozása futtatható alkalmazás
Annak ellenére, hogy a csomag ezt a szolgáltatást nem lehet része a web-alkalmazások és WAR fájlok egyszerű megközelítést alábbi létrehoz egy külön önálló alkalmazás. Te csomag mindent egyetlen futtatható JAR-fájl, amely végigfut a megszokott régi fő (Java-módszer). Az út során, akkor használja a beépített támogatása Spring Tomcat servlet konténer HTTP futási helyett telepítésével egy harmadik fél példányt.
fő () módszer átadja a vezérlést a kiegészítő osztály SpringApplication. ahol Application.class - érvet run () metódust. Ez azt mondja Spring olvasni metaadatok kommentárok az alkalmazási és irányítási összetevőjeként tavaszi alkalmazás keretében.
Abstract @ComponentScan mondja Spring'u rekurzív keresés a csomag szia és utódai osztályok jelölt közvetlenül vagy közvetve Spring kommentár @Component. Ez az irányelv biztosítja, hogy a tavaszi fogja találni, és regisztrálja CountryRepository és CountriesEndpoint. mivel ekkor @Controller. ami viszont egyfajta @Component kommentár.
Abstract @EnableAutoConfiguration átvált az alapértelmezett viselkedés elfogadható, tartalma alapján a classpath. Például, mivel alkalmazása attól függ, hogy a beágyazott változata Tomcat (tomcat-beágyazni-core.jar), Tomcat kiszolgáló telepítve és konfigurálva van az alapértelmezett viselkedés elfogadható az Ön nevében. és mivel Az alkalmazás is függ Spring MVC (rugós webmvc.jar), Spring MVC DispatcherServlet kialakítva és regisztrálva akkor - web.xml nem szükséges! Autokonfiguráció hasznos és rugalmas mechanizmus. Lásd az API dokumentációt.
Építsd egy futtatható JAR
Tudod gyűjteni egy futtatható JAR-fájlt, amely tartalmazza az összes szükséges függőségeket, osztályok és az erőforrásokat. Ez megkönnyíti betölteni, verziókövetés és telepítése a szolgáltatást egy alkalmazás az egész fejlesztési időszakban a különböző környezetekben, és így tovább.
Akkor lehet futtatni a JAR-fájl:
Ha használja a Maven, akkor az alkalmazás futtatásához használja MVN tavaszi-boot: futni. vagy meg lehet építeni az alkalmazást MVN tiszta csomag JAR és futtatni valami ilyesmi:
A fent leírt eljárás egy olyan végrehajtható fájlt JAR. Akkor inkább gyűjteni klasszikus WAR-fájlt.
futó alkalmazások
Ha Gradle, futtathatja a szolgáltatást a parancssorból:
Ha Maven, el tudja indítani a szolgáltatást a következő módon: MVN tiszta csomag java -jar target / gs-termelő-web-service-0.1.0.jar.
Azt is megteheti, indítsa el a szolgáltatást közvetlenül Gradle valahogy így:
A MVN - MVN rugós boot: futni.
teszteli a kérelem
Amikor az alkalmazás elindul, akkor kipróbálni. Készítsen request.xml fájlt. SOAP kérés a következőket tartalmazza:
Számos módja van, hogy teszteljék a SOAP interfész. Használhatja valami hasonló SoapUI vagy egyszerűen csak használja a parancssori eszközöket, ha van egy * nix / Mac rendszert, az alábbiak szerint:
Ennek eredményeként, akkor olvassa el a következő választ:
Gratulálunk! Ön most létrehozott egy SOAP szolgáltatás használatával Spring Web Services.
Az eredeti szöveg a lecke megtalálható spring.io.