[ https://issues.apache.org/jira/browse/CXF-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16115937#comment-16115937 ]
ASF GitHub Bot commented on CXF-7371: ------------------------------------- Github user bbodnar commented on the issue: https://github.com/apache/cxf/pull/300 There is no good solution for reading classes with ASM without direct coding against concrete ASM-classes (the "normal" (visitor-based) way isn't usable with reflection/proxying, because the visitors are in ASM >v3 classes (no longer interfaces); the non-visitor-based ways (tree, SAX-events) require optional ASM-libraries, whose existence must here surely not be assumed). I see under this circumstances the only reasonable solution to extend the current (self-made) byte-code-parser to handle the Java8-constants. > 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)