...
- In Project Explorer view, expand jaxws-converter project, right click on Java Resources: src and select New->Package
- Specify org.apache.geronimo.samples.jaxws as the package name and click Finish
- Right click on the new package and select New->Interface
- Name the interface as Converter and click Finish
- Add the following code to the Converter interface
Code Block title Converter.java borderStyle solid package org.apache.geronimo.samples.jaxws; import java.math.BigDecimal; import javax.jws.WebService; @WebService(name="ConverterPortType", targetNamespace = "http://jaxws.samples.geronimo.apache.org") public interface Converter { public BigDecimal dollarToRupees(BigDecimal dollars); public BigDecimal rupeesToEuro(BigDecimal rupees); }
- In Project Explorer view, right click on the new package and select New->Class
- Name the class as ConverterService, add org.apache.geronimo.samples.jaxws.Converter as Interface and click Finish
- Add the following code to the ConverterService class
Code Block title ConverterService.java borderStyle solid package org.apache.geronimo.samples.jaxws; import java.math.BigDecimal; import javax.jws.WebService; @WebService(serviceName = "Converter", portName="ConverterPort", endpointInterface = "org.apache.geronimo.samples.jaxws.Converter", targetNamespace = "http://jaxws.samples.geronimo.apache.org" ) public class ConverterService implements Converter { private BigDecimal rupeeRate = new BigDecimal("40.58"); private BigDecimal euroRate = new BigDecimal("0.018368"); public BigDecimal dollarToRupees(BigDecimal dollars) { BigDecimal result = dollars.multiply(rupeeRate); return result.setScale(2, BigDecimal.ROUND_UP); } public BigDecimal rupeesToEuro(BigDecimal rupees) { BigDecimal result = rupees.multiply(euroRate); return result.setScale(2, BigDecimal.ROUND_UP); } }
Let us try to understand each annotation:
...
- In Servers view, right click on Apache Geronimo Server Runtime and select Add and Remove Projects
- In the popup dialog, select the jaxws-converter project, click Add, and then click Finish
The Web Service will now be deployed, and Geronimo will create the required .wsdl and other required artifacts. - Once the Web Service is deployed on to the server (Server Status says Synchronized), launch a browser and go to the following url:
http://localhost:8080/jaxws-converter/converterNow you . You should see a message from Axis2 engine as below:
...
...
- You can also view the WSDL file generated by Geronimo based on the annotations specified in source files, by going to the following url
http://localhost:8080/jaxws-converter/converter?wsdl
Info | ||
---|---|---|
| ||
Geronimo processes the annotations in our source files and automatically generates the required artifacts to deploy the Web Service. You can see the Geronimo created files in the directory <INSTALL_DIR>/repository/org/apache/geronimo/samples/jaxws/jaxws-converter/1.0/jaxws-converter-1.0.car/. At this location you can find a new directory which Geronimo created for deploying the web service which contains the WSDL file and other required stubs. |
...