Implementacja usługi

W pierwszej kolejności należy stworzyć interfejs usługi. Zadaniem tego intefejsu jest opisanie usługi (nazwa usługi, które metody mają zostać udostępnione, nazwy argumentów itd.). Opisywanie usługi wykonuje się za pomocą adnotacji. Specyfikację oraz opis dostępnych adnotacji znaleźć można tu.


Przykładowy interfejs usługi:

package sample; 

import javax.jws.WebService;
import javax.jws.WebParam;

@WebService
public interface TestService {

public String getText(@WebParam(name="text") String text);

Uwagi do przykładu:


Kolejnym krokiem jest stworzenie klasy implementującej interfejs usługi. Nazwę tej klasy należy podać w konfiguracji usługi.

Przykładowa implementacja interfejsu usługi:

package sample;

import javax.jws.WebService;

@WebService(serviceName="TestService", endpointInterface="sample.TestService")
public class TestServiceImpl implements TestService {

public String getText(String text) {
return "text: " + text
}

}


Uwagi do przykładu:


Zarówno interfejs jak i klasa go implementująca może być zdefiniowany w obiektach jPALIO typu Groovy lub JAVA. Ważne jest to, że modyfikacja tych obiektów nie wymaga restartu jPALIO. W przypadku modyfikacji tych obiektów, jPALIO automatycznie przeładowuje usługi. Poprawność konfiguracji usługi można sprawdzić poprzez uruchomienie strony o podanym adresie:

http://[host]:[port]/palio/webservices

WSDL dla danej usługi generowany jest automatycznie. Dostępny jest pod adresem:

http://[host]:[port]/palio/webservices/[nazwa instancji]/[nazwa usługi]?wsdl