package nl.han.ddoa; import javax.ejb.EJB; import javax.jws.WebService; import javax.ejb.Stateless; import javax.jws.WebMethod; import javax.jws.WebParam; /** * * @author mdkr */ @WebService(serviceName = "SorterWebService") @Stateless() public class SorterWebService { @EJB private SorterBeanLocal ejbRef; @WebMethod(operationName = "sort") /** * Java uses JAXB to convert standard Java types to XML, it cannot handle Comparables * so we use Integer arrays here. */ public Integer[] sort(@WebParam(name = "element") Integer[] listToSort) { Comparable[] sortedList = ejbRef.sort(listToSort); return comparableArrayToIntArray(sortedList); } private Integer[] comparableArrayToIntArray(Comparable[] sortedList) { Integer[] sortedInts = new Integer[sortedList.length]; for(int i=0;i<sortedList.length;i++) { sortedInts[i] = (Integer) sortedList[i]; } return sortedInts; } }