You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Barnabas Bodnar (JIRA)" <ji...@apache.org> on 2017/07/30 23:42:01 UTC

[jira] [Updated] (CXF-7371) Error creating a webservice with lambdas in the implementing class

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

Barnabas Bodnar updated CXF-7371:
---------------------------------
    Attachment: CXF-7371.zip

Sorry for the missing preconditions.
The problem occurs only with the simple frontend (demo-app attached), which attempts to determine the names of the input-parameters extracting parameter-names from the debug-info of the service-class. That is a self-made class-parser, obviously not supporting Java-8 bytecode.


> Error creating a webservice with lambdas in the implementing class
> ------------------------------------------------------------------
>
>                 Key: CXF-7371
>                 URL: https://issues.apache.org/jira/browse/CXF-7371
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.1.11
>            Reporter: Barnabas Bodnar
>         Attachments: CXF-7371.zip
>
>
> Attempting to create a webservice, where the implementing class uses lambdas in the method-bodies, fails with the following error:
> {quote}
> java.lang.IllegalStateException
>         at org.apache.cxf.wsdl.service.factory.ClassReader.readCpool(ClassReader.java:358)
>         at org.apache.cxf.wsdl.service.factory.ParamReader.<init>(ParamReader.java:79)
>         at org.apache.cxf.wsdl.service.factory.ParamReader.<init>(ParamReader.java:58)
>         at org.apache.cxf.wsdl.service.factory.ParamReader.getParameterNamesFromDebugInfo(ParamReader.java:131)
>         at org.apache.cxf.wsdl.service.factory.DefaultServiceConfiguration.createName(DefaultServiceConfiguration.java:128)
>         at org.apache.cxf.wsdl.service.factory.DefaultServiceConfiguration.getDefaultLocalName(DefaultServiceConfiguration.java:119)
>         at org.apache.cxf.wsdl.service.factory.DefaultServiceConfiguration.getInParameterName(DefaultServiceConfiguration.java:94)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.getInParameterName(ReflectionServiceFactoryBean.java:2228)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.createMessageParts(ReflectionServiceFactoryBean.java:1507)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.createOperation(ReflectionServiceFactoryBean.java:988)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.createInterface(ReflectionServiceFactoryBean.java:965)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:460)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:529)
>         at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:262)
> {quote}
> The class-constant not understood here is *18 (InvokeDynamic)*.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)