...
- From Eclipse main menu, select File->New->Other
- In the New dialog, select Web->Dynamic Web Project and click Next
- Type jaxws-converter as the Project Name and click Next
- On the Project Facets page, the default selections as shown below are enough (Geronimo has an embedded Axis2 container already running) and click Next
- Make sure that the check box Generate Deployment Descriptor is selected and click Next
- On the Geronimo Deployment Page modify the Group Id to org.apache.geronimo.samples.jaxws and the Artifact Id to jaxws-converter.
- Click Finish
Add the POJO Interface and Class that implement the Web Service
- 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); } }
...
- In Servers view, right click on Apache Geronimo Server Runtime and select Add and Remove Projects
- In the popup dialog, select 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/converter
You should see a message from Axis2 engine as below:
- You can also view the WSDL file generated by Geronimo by going to the following url:
http://localhost:8080/jaxws-converter/converter?wsdl
...