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

Labels

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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions