Calculator.java
package org.apache.geronimo.samples.jws; import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; @WebService public interface Calculator { @WebMethod public int add(@WebParam(name = "value1") int value1, @WebParam(name = "value2") int value2); }
CalculatorService.java
package org.apache.geronimo.samples.jws; import javax.annotation.Resource; import javax.jws.WebService; import javax.xml.ws.WebServiceContext; @WebService(endpointInterface = "org.apache.geronimo.samples.jws.Calculator") public class CalculatorService implements Calculator { @Resource private WebServiceContext context; public int add(int value1, int value2) { System.out.println("User Principal: " + context.getUserPrincipal()); return value1 + value2; } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:calc="urn:geronimo-samples-jws" xmlns="http://java.sun.com/xml/ns/javaee" version="2.5"> <servlet> <display-name>CalculatorService</display-name> <servlet-name>CalculatorService</servlet-name> <servlet-class> org.apache.geronimo.samples.jws.CalculatorService </servlet-class> </servlet> <servlet-mapping> <servlet-name>CalculatorService</servlet-name> <url-pattern>/calculator</url-pattern> </servlet-mapping> </web-app>
geronimo-web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"> <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1"> <dep:moduleId> <dep:groupId>org.apache.geronimo.samples.jws</dep:groupId> <dep:artifactId>Calculator</dep:artifactId> <dep:version>1.0</dep:version> <dep:type>car</dep:type> </dep:moduleId> </web-app>
webservices.xml
<?xml version="1.0" encoding="UTF-8"?> <webservices xmlns="xmlns="http://java.sun.com/xml/ns/javaee" version="1.2"> <webservice-description> <webservice-description-name>CalculatorService</webservice-description-name> <wsdl-file>CalculatorService.wsdl</wsdl-file> <port-component> <port-component-name>CalculatorServicePort</port-component-name> <wsdl-port>CalculatorPort</wsdl-port> <service-endpoint-interface> org.apache.geronimo.samples.jws.Calculator </service-endpoint-interface> <service-impl-bean> <servlet-link>CalculatorService</servlet-link> </service-impl-bean> </port-component> </webservice-description> </webservices>