/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.axis2.engine; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.description.WSDL2Constants; import org.apache.axis2.integration.LocalTestCase; import org.apache.axis2.rpc.client.RPCServiceClient; import org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver; import org.apache.axis2.rpc.receivers.RPCMessageReceiver; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.xml.namespace.QName; public class EnumTest extends LocalTestCase{ private static final Log log = LogFactory.getLog(EnumTest.class); @Override public void setUp() throws Exception { super.setUp(); serverConfig.addMessageReceiver(WSDL2Constants.MEP_URI_IN_ONLY, new RPCInOnlyMessageReceiver()); serverConfig.addMessageReceiver(WSDL2Constants.MEP_URI_IN_OUT, new RPCMessageReceiver()); deployClassAsService("EnumService", EnumService.class); } public void testTestDay()throws Exception { QName opTestDay = new QName("http://engine.axis2.apache.org", "testDay" , "asix"); // QName paraDay = new QName("http://engine.axis2.apache.org", "day" , "asix"); EnumService.Day aDay = EnumService.Day.MONDAY; Object[] opDayArg = new Object[]{aDay}; RPCServiceClient serviceClient = getRPCClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference( "local://services/EnumService"); options.setTo(targetEPR); options.setAction("testDay"); // Object[] ret = serviceClient.invokeBlocking( // opTestDay, opDayArg, paraDay , new Class[]{String.class}); Object[] ret = serviceClient.invokeBlocking(opTestDay ,opDayArg , new Class[]{String.class}); log.debug(ret[0].toString()); assertEquals(ret[0], "MONDAY"); } public void testEnumPojo()throws Exception{ QName opEnumPojo = new QName("http://engine.axis2.apache.org", "enumPojo" , "asix"); Event event = new Event(); event.setEventDesc("Event Description"); event.setEventName("Event Name"); event.setStartingDay(EnumService.Day.FRIDAY); // Constructing the arguments array for the method invocation Object[] opAddEventArgs = new Object[] { event}; // Invoking the method RPCServiceClient serviceClient = getRPCClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference( "local://services/EnumService"); options.setTo(targetEPR); options.setAction("enumPojo"); Class[] returnTypes = new Class[] { Event.class }; Object[] ret = serviceClient.invokeBlocking(opEnumPojo, opAddEventArgs, returnTypes); // assertEquals(event, ret[0]); Event res = (Event)ret[0]; assertEquals(event.getEventDesc() , res.getEventDesc()); assertEquals(event.getEventName(), res.getEventName()); assertEquals(event.getStartingDay() , res.getStartingDay()); } }