Skip to content

No Such Method Error while downloading the SDK for some APIs. #3996

Description

@Nishan-SE

Description

When trying to download the SDK of the API through the devportal for some of the APIs it throws the below error stack trace indicating java.lang.NoSuchMethodError an issue with io.swagger.v3.oas.models.media.Schema method.

[2025-06-26 15:06:22,826] ERROR - GlobalThrowableMapper An unknown exception has been captured by the global exception mapper.
java.lang.NoSuchMethodError: 'io.swagger.v3.oas.models.media.Schema io.swagger.v3.core.util.AnnotationsUtils.clone(io.swagger.v3.oas.models.media.Schema, boolean)'

at org.openapitools.codegen.utils.ModelUtils.cloneSchema(ModelUtils.java:2205) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultCodegen.lambda$mergeProperties$13(DefaultCodegen.java:2832) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at java.util.LinkedHashMap.forEach(Unknown Source) ~[?:?]
at org.openapitools.codegen.DefaultCodegen.mergeProperties(DefaultCodegen.java:2831) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultCodegen.updateModelForComposedSchema(DefaultCodegen.java:2745) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultCodegen.fromModel(DefaultCodegen.java:3088) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.languages.AbstractJavaCodegen.fromModel(AbstractJavaCodegen.java:1690) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.languages.JavaClientCodegen.fromModel(JavaClientCodegen.java:969) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultGenerator.processModels(DefaultGenerator.java:1765) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultGenerator.generateModels(DefaultGenerator.java:523) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultGenerator.generateModels(DefaultGenerator.java:453) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.openapitools.codegen.DefaultGenerator.generate(DefaultGenerator.java:1303) ~[openapi-generator_7.11.0.wso2v1.jar:?]
at org.wso2.carbon.apimgt.impl.APIClientGenerationManager.generateClient_aroundBody6(APIClientGenerationManager.java:193) ~[org.wso2.carbon.apimgt.impl_9.28.116.334.jar:?]
at org.wso2.carbon.apimgt.impl.APIClientGenerationManager.generateClient(APIClientGenerationManager.java:1) ~[org.wso2.carbon.apimgt.impl_9.28.116.334.jar:?]
at org.wso2.carbon.apimgt.impl.APIClientGenerationManager.generateSDK_aroundBody0(APIClientGenerationManager.java:130) ~[org.wso2.carbon.apimgt.impl_9.28.116.334.jar:?]
at org.wso2.carbon.apimgt.impl.APIClientGenerationManager.generateSDK(APIClientGenerationManager.java:1) ~[org.wso2.carbon.apimgt.impl_9.28.116.334.jar:?]
at org.wso2.carbon.apimgt.rest.api.store.v1.impl.ApisApiServiceImpl.apisApiIdSdksLanguageGet(ApisApiServiceImpl.java:675) ~[?:?]
at org.wso2.carbon.apimgt.rest.api.store.v1.ApisApi.apisApiIdSdksLanguageGet(ApisApi.java:244) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:179) ~[?:?]
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) ~[?:?]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:201) ~[?:?]
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:104) ~[?:?]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) ~[?:?]
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) ~[?:?]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) ~[?:?]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[?:?]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267) ~[?:?]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[?:?]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[?:?]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[?:?]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[?:?]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:304) ~[?:?]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) ~[tomcat-servlet-api_9.0.105.wso2v1.jar:?]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:279) ~[?:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:119) ~[org.wso2.carbon.identity.context.rewrite.valve_1.7.1.jar:?]
at org.wso2.carbon.identity.context.rewrite.valve.OrganizationContextRewriteValve.invoke(OrganizationContextRewriteValve.java:116) ~[org.wso2.carbon.identity.context.rewrite.valve_1.7.1.jar:?]
at org.wso2.carbon.tomcat.ext.valves.SameSiteCookieValve.invoke(SameSiteCookieValve.java:38) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:165) ~[org.wso2.carbon.identity.authz.valve_1.7.1.jar:?]
at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:118) ~[org.wso2.carbon.identity.auth.valve_1.7.1.2.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:106) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:69) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:152) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:63) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke(RequestCorrelationIdValve.java:137) ~[org.wso2.carbon.tomcat.ext_4.8.1.25.jar:?]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1792) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) ~[tomcat_9.0.105.wso2v1.jar:?]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat_9.0.105.wso2v1.jar:?]
at java.lang.Thread.run(Unknown Source) [?:?]

Steps to Reproduce

Start the APIM 4.2.0 server.

Created an API by using composed schemas such as 'anyOf', 'allOf' etc in the swagger definition.

Then publish the API.

Navigate to the devportal and try to download any SDK of the API.

Version

4.2.0

Environment Details (with versions)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Resolution/DoneLabel to assign when specific task is done when there is no particular fix, but an action to be doneType/Bug

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions