/* * MessageEJB.java * * Created on February 15, 2007, 9:35 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package jbi.helloca.message; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.ejb.Stateless; import javax.jws.Oneway; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebParam.Mode; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; import javax.xml.ws.Holder; import jbi.helloca.message.types.AddressBook; import jbi.helloca.message.types.AddressBookEntry; /** * * @author sony */ @Stateless() @WebService() @SOAPBinding(style=Style.RPC) public class MessageEJB { @WebMethod public void ping() { System.out.println("MessageEJB : ping ping ping"); } @WebMethod @Oneway public void testStringOneway(String str) { System.out.println("MessageEJB : testStringOneway : " + str); } @WebMethod(operationName="testTypes") public boolean testSimpleTypes(String str, int i, double d, byte[] array) { System.out.println("MessageEJB : testSimpleTypes"); byte[] localArray = new byte[] { Byte.MAX_VALUE, Byte.MIN_VALUE}; if (str.equals("Hello") && i == Integer.MIN_VALUE && d == java.lang.Double.MAX_VALUE && Arrays.equals(array, localArray)) return true; return false; } @WebMethod public String testParamModes( @WebParam(name="addressBook", mode=Mode.OUT) Holder<AddressBook> book, @WebParam(name="addressBookEntry", mode=Mode.INOUT) Holder<AddressBookEntry> entry) { System.out.println("Received AddressBookEntry : " + entry.value.name); book.value = new AddressBook(); book.value.addressBook = new ArrayList<AddressBookEntry>(); book.value.addressBook.add(entry.value); return entry.value.name; } }