1 /** 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.superbiz.calculator; 18 19 import java.util.Date; 20 21 import javax.jws.WebParam; 22 import javax.jws.WebService; 23 import javax.jws.soap.SOAPBinding; 24 import javax.jws.soap.SOAPBinding.ParameterStyle; 25 import javax.jws.soap.SOAPBinding.Style; 26 import javax.jws.soap.SOAPBinding.Use; 27 import javax.xml.ws.Holder; 28 29 //END SNIPPET: code 30 31 /** 32 * This is an EJB 3 webservice interface 33 * A webservice interface must be annotated with the @Local 34 * annotation. 35 */ 36 //START SNIPPET: code 37 @WebService(targetNamespace = "http://superbiz.org/wsdl") 38 public interface CalculatorWs { 39 40 public int sum(int add1, int add2); 41 42 public int multiply(int mul1, int mul2); 43 44 // because of CXF bug, BARE must be used instead of default WRAPPED 45 @SOAPBinding(use=Use.LITERAL, parameterStyle=ParameterStyle.BARE, style=Style.DOCUMENT) 46 public int factorial( 47 int number, 48 @WebParam(name="userid", header=true, mode=WebParam.Mode.IN) Holder<String> userId, 49 @WebParam(name="returncode", header=true, mode=WebParam.Mode.OUT) Holder<String> returnCode, 50 @WebParam(name="datetime", header=true, mode=WebParam.Mode.INOUT) Holder<Date> datetime); 51 52 } 53 //END SNIPPET: code