Emulator simplu (sincron) al serviciului de săpun

În acest articol, vă voi arăta cum puteți implementa un emulator de servicii SOAP simplu, sincron cu SoapUI. Pentru a implementa emulatorul, am folosit exemplul WSDL din site-ul tutoriale. Emulatorul va suporta răspunsuri diferite, interogări de jurnal și răspunsuri, precum și configurarea utilizând un fișier de configurare. Hai să rock!







Crearea unui proiect

Pentru a implementa exemplul de mai jos, sa folosit SoapUI versiunea 5, dar exemplul ar trebui să funcționeze și în versiunea 4x.

După rularea SoapUI, apăsăm ⌘ + N pe Mac OS sau Ctrl + N în Windows \ Linux sau prin meniul File-> New SOAP noi creăm un nou proiect SOAP. Introduceți numele proiectului. la noi va fi "HelloWorld" și vom selecta WSDL necesar (în locul unui fișier este posibil să specificați link-ul către serviciul deja pregătit). Selectați elementul Creați solicitări dacă nu este bifat, aceasta va crea automat solicitări de eșantion pentru WSDL specificat pentru testarea și depanarea emulatorului.

Emulator simplu (sincron) al serviciului de săpun

După crearea proiectului, va fi necesar să adăugăm MockService, care va acționa ca emulator. Apăsați ⌘ + O pe Mac OS sau selectați New SOAP MockService din meniul contextual al proiectului și specificați numele acestuia, de exemplu "HelloWorldService".

În versiunea SoapUI 4x acest lucru se poate face automat la crearea unui proiect prin selectarea elementului corespunzător.

Acum trebuie să adăugăm operațiile pe care emulatorul le va suporta. Pentru aceasta, selectați MockService nou creat și apăsați ⌘ + N pe Mac OS sau Ctrl + N în Windows \ Linux sau selectați New MockOperation din meniul contextual. În fereastra care se deschide, selectați operația dorită. În acest exemplu WSDL, există o singură operație, deci faceți clic pe OK (în alte cazuri, acest pas va trebui repetat de câte ori este necesar pentru a emula operațiuni). Dacă deschideți răspunsul 1 în arborele proiectului, puteți vedea răspunsul SOAP generat specificat la crearea proiectului WSDL.

Emulator simplu (sincron) al serviciului de săpun







Astfel, baza emulatorului nostru este deja pregătită și, dacă este lansată, va funcționa destul de cinstit și va răspunde întotdeauna cu același mesaj. Dar acest lucru este prea plictisitor, așa că hai să "pompăm" emulatorul nostru puțin.

Răspuns dinamic

Vom primi un nume din solicitarea trimisă și vom răspunde cu un salut folosind acest nume. Pentru asta trebuie să scriem un mic script pe groovy. SoapUI vă permite să utilizați scripturi groove la diferite niveluri de machete, cum ar fi MockService însăși (atunci când serviciul începe, când se oprește, când cererea este primită și după solicitare), MockOperation și MockResponse. Suntem interesați de nivelul MockResponse. În primul rând, dați răspunsul nostru un nume logic, de exemplu "reușit", deoarece răspunsul nostru va emula procesarea cu succes a cererii. Acum deschideți răspunsul nostru și în elementul de salut vom introduce variabila $ care va fi înlocuită cu textul necesar când scriptul este executat.

Acum, în aceeași fereastră, deschideți fila Script și introduceți următorul cod:

Înregistrarea mesajelor primite și trimise

Pentru a verifica ce a venit la emulatorul nostru și la ce a fost trimis în răspuns, vom atașa un jurnal de mesaje la emulatorul nostru, care va salva acțiunile emulatorului nostru în fișierul log SoapUI - global-groovy.log. și, de asemenea, salvați interogări sub formă de fișiere xml. În arborele proiectului, deschideți MockOperation - sayHello. Selectați elementul SCRIPT din lista derulantă Dispecer. În caseta de text care apare, introduceți următorul cod:

De asemenea, adăugați următorul cod la sfârșitul scriptului pentru răspunsul "de succes":

Acum, dacă porniți emulatorul și trimiteți cereri către el, puteți vedea că toate cererile primite sunt stocate în directorul de cereri și le puteți vedea și în jurnalul SoapUI. Pentru a vizualiza jurnalul SoapUI, trebuie să deschideți fila jurnalului de scripturi din panoul de jos al ferestrei principale SoapUI.

Configurarea emulatorului

Pentru a configura emulatorul, vom folosi vechiul format vechi INI (conf), deoarece este mai bine prietenos cu alfabetul chirilic decât formatul proprietăților JAVA și este, de asemenea, bine susținut de alte JAA-uri în cazul configurației automate a emulatorului. De asemenea, vă voi arăta cum să conectați bibliotecile JAVA de la terți la SoapUI. Pentru a lucra cu formatul INI, voi folosi biblioteca ini4j. Pentru a conecta biblioteca JAVA la SoapUI, trebuie să fie pusă în director. / SoapUI / bin / ext /. Acum creați fișierul nostru de configurare, settings.conf:

Astfel, emulatorul nostru va configura răspunsul, intervalul de timp înainte de a răspunde solicitării și textului de întâmpinare. Creați un răspuns nou, eroare. În arborele proiectului, selectați MockOperation sayHello și apăsați ⌘ + N pe Mac OS sau Ctrl + N în Windows \ Linux sau selectați New MockResponse din meniul contextual. Introduceți numele răspunsului nou - "defecțiune". Apoi, deschideți-l și faceți clic pe pictograma sub forma unui pătrat cu un semn de exclamare și confirmați crearea unui mesaj de eroare și completați-l astfel:

Acum deschideți scriptul nostru pentru MockOperation - spuneHello și aduceți-l în această formă:







Trimiteți-le prietenilor: