You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2008/03/19 06:00:24 UTC

[jira] Resolved: (CXF-1476) Exception in INOUT parameter

     [ https://issues.apache.org/jira/browse/CXF-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1476.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1

> 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
>            Assignee: Daniel Kulp
>             Fix For: 2.1
>
>         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.