WebElektronika

Webszolgáltatás JAVA-ban (kliens)

person access_time 2015.03.13.
Korábban már részletesen kitértünk a webszolgáltatások készítésére, de ezeket (host, kliens) C# nyelven valósítottuk meg. Most írni fogunk egy klienst Java-ban, ennek a megvalósítását tekintjük át.


Korábbi cikkeinkben már részletesen foglalkoztunk a webszolgáltatások létrehozásával. Készítettünk klienst és természetesen host-ot is.

Most azt nézzük meg, hogy hogyan tudunk Java-ban megvalósítani klienst. Ehhez természetesen már léteznie kell a webszolgáltatásunknak, amelyet VS2012-ben készítettünk el.

 

Host

A kipublikált, C# nyelven írt metódusokat mutatja a következő programrészlet :

    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }

    [WebMethod]
    public int Szoroz(int a, int b)
    {
        return a * b;
    }

 

Kliens megvalósítása

Indítsuk el az Eclipse-t és hozunk benne létre egy projektet (javaServiceClient). Ezt mutatja az első ábra. 

kep
1. ábra   A projekt létrehozása
 

Ezután adjunk a projektünkhöz egy sablont, amelyet a New/Other elérésnél találunk (2. ábra)

kep
2. ábra   Sablon hozzáadása
 

Válasszuk ki a "Web Service Client" sablont (3. ábra).

kep
3. ábra   A "Web Service Client" hozzáadása
 

Írjuk / másoljuk be a webszolgáltatásunkat leíró WSDL nyelv elérési útvonalát (4. ábra). A webszolgáltatásunk a localhost-on futott, a 31032-es porton.

kep
4. ábra   A webszolgáltatás beregisztrálása
 

Ezután adjunk hozzá a projekünkhöz egy osztályt (pelda), amely tartalmazni fogja a main() metódust, amely a projektünk belépési pontja lesz, tehát ez fog elindulni, amikor futtatni fogjuk az alkalmazásunkat (5. ábra).

kep
5. ábra   A "pelda" osztály hozzáadása a projekthez
 

A következő képen (6. ába) a "pelda" osztályt látjuk, benne a main() metódussal. 

kep
6. ábra   A main() metódus
 

Az "org.tempuri" könyvtárban (6. ábra) találjuk a TesztSoapStub osztályt, amelyet példányosítanunk kell. Írjuk be a következő kódrészletet, majd futtassuk az alkalmazásunkat.

import org.tempuri.TesztLocator;
import org.tempuri.TesztSoapStub;

public class pelda {

    public static void main(String[] args) {
        
        TesztSoapStub mutat;
        
        try {
            mutat = (TesztSoapStub)new TesztLocator().gettesztSoap();
            
            System.out.println(mutat.helloWorld());
            System.out.println(mutat.szoroz(20, 40));
            
        } catch (Exception e) {
                        
        }
    }
}

 

A fejlesztőrendszerünk konzolján látni fogjuk a futási eredményeket. Először a helloWorld() metódus kerül meghívásra, majd a szoroz(). Látható tehát, hogy a C#-ban megírt webszolgáltatásunk webmetódusai más technológián is használhatók.