Hello, I am using Axis2 and its java2wsdl to generate wsdl file based on java class. The public methods in our service class use Enum type as complextype. In Netbeans, when I test it (right-click and select "test operation in browser"), Glassfish server generated the following error:
信息: [INFO] Deploying Web service: CAR2ServiceLib.aar - file:/C:/Users/sam/.netbeans/7.0rc2/config/GF3/domain1/applications/axis2/WEB-INF/services/CAR2ServiceLib.aar 信息: [ERROR] Exception occurred while trying to invoke service method continueDialogue org.apache.axis2.AxisFault: car2.enumeration.CAR2DialogueTypeEnum at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:47) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:421) at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:827) at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:746) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:655) at org.apache.axis2.rpc.receivers.RPCUtil.processRequest(RPCUtil.java:153) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:206) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144) at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139) at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837) at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273) at javax.servlet.http.HttpServlet.service(HttpServlet.java:735) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.InstantiationException: car2.enumeration.CAR2DialogueTypeEnum at java.lang.Class.newInstance0(Class.java:340) at java.lang.Class.newInstance(Class.java:308) at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:42) ... 41 more Here is my CAR2DialogueTypeEnum.java class: package car2.enumeration; import car2.base.IBaseEnum; /** * Dialogue Type * @author sam */ public enum CAR2DialogueTypeEnum implements IBaseEnum { AC("AC","AC"), PORO("PORO", "PORO"); private String code = ""; private String description = ""; CAR2DialogueTypeEnum(String code, String description) { this.code = code; this.description = description; } /** * (non-Javadoc) * @see enums.IBaseEnum#getCode() */ public String getCode(){ return code; } /** * @return a string represent Status code. */ public String getDescription(){ return description; } /** * Set description to registration. * @param description */ public void setDescription(String description){ this.description = description; } /** * Return Dialogue Type code base on string. * @param code - a string of status code. * @return status enum code */ public static CAR2DialogueTypeEnum fromCode(String code){ for(CAR2DialogueTypeEnum status : values()){ if(status.getCode().equals(code)){ return status; } } return null; } } I am wondering: 1. I have deployed axis2.war to Glassfish 3.1, do I need to re-deploy Axis2.war file every time when rebuild my web service file? My web service file is a .jar file. 2. what path should I use for "Target Location for Axis2 .aar files" when I define it in Nebeans (Tools->option) page? Currently I am using C:\Users\sam\.netbeans\7.0rc2\config\GF3\domain1\applications\axis2 Here is the path to *.aar file: sam@sam-PC /cygdrive/c/Users/sam/.netbeans/7.0rc2 $ find . -name "*.aar" ./config/GF3/domain1/applications/axis2/WEB-INF/services/CAR2ServiceLib.aar ./config/GF3/domain1/applications/axis2/WEB-INF/services/version.aar sam@sam-PC /cygdrive/c/Users/sam/.netbeans/7.0rc2 $ pwd /cygdrive/c/Users/sam/.netbeans/7.0rc2 Thanks for any suggestion and your answer would be very appreicated Thanks Sam -- View this message in context: http://old.nabble.com/Enum-type-as-method-parameter-with-Axis2-tp32182695p32182695.html Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org