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

Reply via email to