Versions Compared

Key

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

...

  1. In Project Explorer view, expand jaxws-converter project, right click on Java Resources: src and select New->Package
  2. Specify org.apache.geronimo.samples.jaxws as the package name and click Finish
  3. Right click on the new package and select New->Interface
  4. Name the interface as Converter and click Finish
  5. 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);
    }
    
  6. In Project Explorer view, right click on the new package and select New->Class
  7. Name the class as ConverterService, add org.apache.geronimo.samples.jaxws.Converter as Interface and click Finish
  8. 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);
    	}
    }
    

Let us try to understand each annotation:

...

  1. In Servers view, right click on Apache Geronimo Server Runtime and select Add and Remove Projects
  2. 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.
  3. 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:

...

...

  1. 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
titleGenerated files by Geronimo

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.

...