Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • From Eclipse main menu, select File->New->Other

  • In the New dialog, select Web->Dynamic Web Project and click Next
    Image Removed

  • Type jaxws-converter as the Project Name and click Next
    Image Removed

  • 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.
    Image Removed

  • 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
    Image Removed

  • Right click on the new package and select New->Interface
  • Name the interface as Converter and click Finish
    Image Removed

  • Add the following code to the Converter interface
    Code Block
    titleConverter.java
    borderStylesolid
    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
    Image Removed

  • Add the following code to the ConverterService class
    Code Block
    titleConverterService.java
    borderStylesolid
    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.
    Image Removed

  • 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

...