Kod żródłowy znajduje się tutaj.
1. Tworzymy szkielet projektu
mvn archetype:generate -DgroupId=pl.pkarpik.webservice -DartifactId=jaxws -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
2. Upewniamy się, czy w utworzonym projekcie jaxws istnieje nastepujaca struktura katalogu
../jaxws/src/main/java/pl/pkarpik/webserviceJeżeli nie istnieje to należy ją stworzyć.
3. Edytujemy plik pom.xml.
Dodajemy jedną zależność
. . . . com.sun.xml.ws jaxws-rt compile 2.2.5
4. Tworzymy interfejs usługi.
package pl.pkarpik.webservice; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; @WebService(targetNamespace="http://webservice.pkarpik.pl", name="HelloService", portName="HelloServicePort") public interface HelloService { @WebMethod public String sayHello(@WebParam(name = "imie") String name); }
5. Tworzymy klasę implementacją interfejs usługi.
package pl.pkarpik.webservice.impl; import javax.jws.WebService; import pl.pkarpik.webservice.HelloService; @WebService(endpointInterface = "pl.pkarpik.webservice.HelloService") public class HelloServiceImpl implements HelloService { public String sayHello(String imie) { return "Hello "+imie; } }
6. W katalogu WEB-INF tworzymy plik sun-jaxws.xml.
7. Edytujemy plik web.xml.
JAX-WS Hello Service com.sun.xml.ws.transport.http.servlet.WSServletContextListener jaxws com.sun.xml.ws.transport.http.servlet.WSServlet jaxws /helloService
8. Uruchamiamy projekt.
~/workspace/jaxws$ mvn clean install tomcat:run
Sprawdźmy czy wszystko zrobiliśmy prawidłowo, otwierając w przeglądarce adres
http://localhost:8080/jaxws/helloServices
To wszystko. Usługa jest gotowa.
W następnym poście przedstawie sposób wygenerowania klienta dla usługi sieciowej przy pomocy JAX-WS Maven Plugin.