package endpoint;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.*;
import javax.jws.soap.SOAPBinding;
import common.IncomeTaxDetails;
@WebService(
name="Calculator",
serviceName="CalculatorService",
targetNamespace="http://example.web.service/Calculator",
wsdlLocation = "WEB-INF/wsdl/CalculatorService.wsdl"
)
@SOAPBinding(style=SOAPBinding.Style.RPC, use=SOAPBinding.Use.LITERAL)
public class Calculator {
public static final String testName = "\nTest :: rpc-literal-bundled-wsdl-bc-consumer-se-provider : ";
public Calculator() {}
@WebMethod(operationName="add", action="urn:Add")
public int add(
@WebParam(name = "int_1", partName = "int_1") int i,
@WebParam(name = "int_2", partName = "int_2") int j
) throws Exception {
int k = i +j ;
System.out.println(testName + i + "+" + j +" = " + k);
return k;
}
@WebMethod(operationName="calculateIncomeTax", action="urn:CalculateIncomeTax")
public long calculateIncomeTax(IncomeTaxDetails details
, IncomeTaxDetails details2
, IncomeTaxDetails details3
, IncomeTaxDetails details4
, IncomeTaxDetails details5
, IncomeTaxDetails details6
, IncomeTaxDetails details7
, IncomeTaxDetails details8
, IncomeTaxDetails details9
, IncomeTaxDetails details10
) {
long income = details.annualIncome;
System.out.println(testName + "Annual income = " + income);
long taxRate = 30; // 30%
long taxToBePaid = income / taxRate;
System.out.println(testName +"Tax to be paid = " + taxToBePaid);
return taxToBePaid;
}
@WebMethod(operationName="sayHi", action="urn:SayHi")
public String sayHi() {
return testName + "Hi from sayHi()";
}
@WebMethod(operationName="printHi", action="urn:PrintHi")
@Oneway
public void printHi() {
System.out.println(testName +"Hi from printHi()");
}
@WebMethod(operationName="printHiToMe", action="urn:PrintHiToMe")
@Oneway
public void printHiToMe(String name) {
System.out.println(testName +"Hi to " + name + " from printHiToMe()");
}
}