vytvoříme si jednoduchou metodu, kterou budeme chtít zpřístupnit jako webovou službu
package mypackage; public class Calculator { public int add(int i1, int i2) { return i1 + i2; } }
zkompilujeme
pomocí utility Java2WSDL vytvoříme WSDL soubor
java org.apache.axis.wsdl.Java2WSDL -o Calculator.wsdl -l"http://localhost:8080/axis/services/Calculator" -n"urn:Mypackage" -p"mypackage" "urn:Mypackage" mypackage.Calculator
pomocí utility WSDL2Java vytvoříme potřebná napojení
java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -Nurn:Mypackage mypackage Calculator.wsdl
Axis nám tímto vygeneroval všechny potřebné soubory:
CalculatorSoapBindingImpl.java : Java soubor obsahující defaultní serverovou implementaci webové služby Calculator. Je potřeba implementaci změnit podle vlastních potřeb.
Calculator.java: Nové rozhraní obsahující odpovídající java.rmi.Remote použití.
CalculatorService.java: Java soubor obsahující klient service rozhraní.
CalculatorServiceLocator.java: Java soubor obsahující klient service implementaci.
CalculatorSoapBindingSkeleton.java: Server skeleton.
CalculatorSoapBindingStub.java: Klient stub.
deploy.wsdd: Deployment descriptor.
undeploy.wsdd: Undeployment descriptor.
Pomocí Admin klienta deploydneme serverovou část:
Zkompilujeme a nahrajeme serverovou část do tomcatu do adresáře: axis/WEB-INF/classes.
java org.apache.axis.client.AdminClient deploy.wsdd
A nyní už můžeme naši webovou službu vyzkoušet. Nejprve se přesvědčíme zdali opravdu na příslušné adrese služba běží.
http://localhost:8080/axis/services/Calculator?wsdl
Dále potřebujeme vytvořit nějaký příklad volání:
package mypackage; public class Main { public static void main (String[] args) throws Exception { int first = Integer.parseInt(args[0]); int second = Integer.parseInt(args[1]); Calculator binding = new CalculatorServiceLocator().getCalculator(); int result = ((CalculatorSoapBindingStub)binding).add(first, second); System.out.println(first + " + " + second + " = " + result); } }
Poté už stačí jen spustit:
java mypackage.Main 1 3
A dostaneme jako výsledek webové služby:
1 + 3 = 4