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.