1. Hozzunk létre egy dinamikus webprojektet WebService néven
2. A projekt nevére kattintva nyomunk ctrl+n -t.
3. Válasszuk ki a 'JBoss Tools/Simple web service' -t. Majd nyomjunk 'Finish' gombot. De akinek nincs JBoss Tools tlepítve az 'Web Services/Web Service Client' -et is választhat.
4. Ekkor létrejön egy HelloWorld java az alábbi tartalommal:
package org.jboss.samples.webservices; import javax.jws.WebMethod; import javax.jws.WebService; @WebService() public class HelloWorld { @WebMethod() public String sayHello(String name) { System.out.println("Hello: " + name); return "Hello " + name + "!"; } }
5. Deploy-oljuk a projektet a Wildfly vagy JBoss szerverre. A console logban az alábbiakat látjuk:
address=http://localhost:8080/WebService/HelloWorld implementor=org.jboss.samples.webservices.HelloWorld serviceName={http://webservices.samples.jboss.org/}HelloWorldService portName={http://webservices.samples.jboss.org/}HelloWorldPort annotationWsdlLocation=null wsdlLocationOverride=null mtomEnabled=false
6. Egy böngészőben írjuk be: http://localhost:8080/WebService/HelloWorld?wsdl ezzel láthatóvá válik a WSDL xml állomány tartalma.
7. Hozzunk létre még egy dinamikus webprojektet „WebServiceTest” néven. Majd a nevére kattintva nyomjunk ctrl+n t.
8. A listából válasszuk ki a „Web Services/Web service client”-et és a service definitionba másoljuk bele a http://localhost:8080/WebService/HelloWorld?wsdl -t majd nyomjunk Finish-t
9. Ha hibát kapunk akkor a Configurations: résznél a „Web Service runtime:…” linkre kattintsunk és válasszuk az Apache Axis 2 lehetőséget a listából, majd újra finish.
10. A „WebServiceTest” projektben a org.jboss.samples.webservices package-ben létrejönnek a proxy osztályok.
11. Hozzunk létre a projektben a java osztályt WSTest néven az alábbi tartalommal:
package org.jboss.samples.webservices; import java.rmi.RemoteException; import javax.xml.rpc.ServiceException; public class WSTest { public static void main(String[] args) throws RemoteException, ServiceException { // az alábbi egy futtatási hiba miatt kell(het), mert összeakad két logger implementáció System.setProperty("org.apache.commons.logging.LogFactory", "org.apache.commons.logging.impl.LogFactoryImpl"); HelloWorldService hws = new HelloWorldServiceLocator(); HelloWorld hw = hws.getHelloWorldPort(); System.out.println(hw.sayHello("Zoli")); } }
12. Futtassuk az osztályt simán java alkalmazásként, ezt nem szabad deploy-olni. A konzolon megjelenik az eredmény.