[ 
https://issues.apache.org/jira/browse/CXF-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12579541#action_12579541
 ] 

Daniel Kulp commented on CXF-1476:
----------------------------------


I've reproduced this and am testing a fix now.

That said, once I fix the multi-dim array issue, it still runs into CXF-1388.   
The workaround for that is to make the NameAndValue_T class not final.  Then it 
starts up fine. (once the fix is in)



> Exception in INOUT parameter
> ----------------------------
>
>                 Key: CXF-1476
>                 URL: https://issues.apache.org/jira/browse/CXF-1476
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.0.4
>            Reporter: Giancarlo Valeri
>         Attachments: testcxf.zip
>
>
> I need to expose a service with CXF with an INOUT parameter. The INOUT 
> parameter is two dimensial array of objects (of class NameAndValue_T). 
> The interface exposed is: 
> package foo; 
> import javax.jws.WebParam; 
> import javax.jws.WebParam.Mode; 
> @javax.jws.WebService(name="ENDPOINT_NAME", 
>                       
> targetNamespace="NAME_SPACE")@javax.jws.soap.SOAPBinding(use=javax.jws.soap.SOAPBinding.Use.LITERAL,
>  
>                       
> parameterStyle=javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED) 
> public abstract interface TestInterface { 
>     @javax.jws.WebMethod(operationName="bar") 
>     abstract public boolean bar(@WebParam(name="how_many") int how_many, 
> @WebParam(name="nameList", mode=Mode.INOUT)  
> javax.xml.ws.Holder<foo.NameAndValue_T[][]> nameList); 
> } 
> During the Service creation the following Exception is raised: 
> INFO: Creating Service {NAME_SPACE}TestInterfaceService from class 
> foo.TestInterface 
> Exception in thread "main" java.lang.ClassCastException: 
> sun.reflect.generics.reflectiveObjects.GenericArrayTypeImpl cannot be cast to 
> java.lang.Class 
>         at 
> org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.getHolderClass(JaxWsServiceConfiguration.java:707)
>  
>         at 
> org.apache.cxf.jaxws.support.JaxWsServiceConfiguration.getHolderType(JaxWsServiceConfiguration.java:697)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.getHolderType(ReflectionServiceFactoryBean.java:1423)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeParameter(ReflectionServiceFactoryBean.java:1325)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createMessageParts(ReflectionServiceFactoryBean.java:1156)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createOperation(ReflectionServiceFactoryBean.java:699)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createInterface(ReflectionServiceFactoryBean.java:683)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:305)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:362)
>  
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:156)
>  
>         at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:89)
>  
>         at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
>  
>         at 
> org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:108) 
>         at 
> org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:147)
>  
>         at foo.Server.<init>(Server.java:41) 
>         at foo.Server.main(Server.java:46) 
>         
> In attachement there is a project to reproduce the problem. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to