Қарапайым WEB қызметін құру мысалын қарастырыңыз. Java тілінде WEB қызметтерін құруға арналған көптеген құралдар бар, бірақ біз XFire қолданамыз. XFire — бұл Java SOAP негізі, жылдам, кеңейтілетін және т.б. Біз үшін қазір маңыздысы WEB қызметін нөлден бастап жасау өте оңай.
Біздің WEB қызметіміз өте қарапайым болады, атап айтқанда, оның параметрсіз бір әдісі болады және жолды қайтарады, мысалы, «Сәлеметсіз бе — бұл WEB қызметі»
Алдымен сіз алдыңғы мақалада сипатталғандай жобалардың инфрақұрылымын дайындауыңыз керек — «Maven көмегімен жобаларды жасау».
SimpleLogic жобасында қызмет интерфейсін (HelloService) және іске асыруды (HelloServiceImpl) анықтаңыз, оларды com.dom.ws бумасына орналастырыңыз
HelloService.java
com.dom.ws пакеті;
HelloService қоғамдық интерфейсі {
public String getHello();
}
HelloServiceImpl.java
com.dom.ws пакеті;
қоғамдық класс HelloServiceImpl HelloService іске асырады {
public String getHello() {
қайтару «Сәлеметсіз бе, бұл WEB қызметі!»;
}
}
XFire тәуелділіктерін SimpleWEBpom.xml файлына қосыңыз
org.codehaus.xfire
xfire-jaxb2
1.1.1
org.codehaus.xfire
xfire-көктем
1.1.1
org.codehaus.xfire
xfire-java5
1.1.1
XFire қызметін WEB қызметі ретінде жариялау үшін конфигурациялайық.
SimpleWEBsrcmainresourcesMETA-INFxfire қалтасын және ондағы келесі мазмұнмен services.xml файлын жасаңыз:
HelloService
http://localhost/HelloService
com.dom.ws.HelloService
com.dom.ws.HelloServiceImpl
SimpleWEBsrcmainwebappWEB-INFweb.xml ішінде Xfire өңдегіштерін орнатыңыз. web.xml толық мәтіні
Қоғамдық «-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN»
«http://java.sun.com/dtd/web-app_2_3.dtd»>
XFireServlet
XFire сервлеті
org.codehaus.xfire.transport.http.XFireConfigurableServlet
XFireServlet
/сервлет/XFireServlet/*
XFireServlet
/қызметтер/*
Қызмет жазылды, Xfire конфигурацияланды. Біз жобаны жинаймыз. ${work}parent каталогында пәрменді орындаңыз:
mvn бумасы
Қолданбамызды Tomcat-қа орнатайық. Қолданба осында орналасқан — SimpleWEBtargetSimpleWEB.war
WEB қызметіне келесі мекенжай бойынша қол жеткізуге болады «http://localhost:8080/SimpleWEB/services/HelloService?WSDL»