Search code examples
wso2upgradewso2-api-managerwso2-identity-server

Cannot add Sandbox OAuth2 key and secret in Api Manager DevPortal after migrating Identity Server to v6.0.0


Cannot add Sandbox OAuth2 key and secret in Api Manager DevPortal after migrating Identity Server to v6.0.0

  • It worked with WSO2 AM 4.1.0 and IS 5.11.0

  • Not working with WSO2 AM 4.1.0 and IS 6.0.0

TID: [-1234] [api/am/devportal] [2022-09-26 13:58:10,497] ERROR {org.wso2.carbon.apimgt.rest.api.util.exception.GlobalThrowableMapper} - An unknown exception
 has been captured by the global exception mapper. feign.codec.DecodeException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line
 19 column 1 path $                                                                                                                                          
        at feign.AsyncResponseHandler.decode(AsyncResponseHandler.java:119)                                                                                  
        at feign.AsyncResponseHandler.handleResponse(AsyncResponseHandler.java:87)                                                                           
        at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138)                                                                
        at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:89)                                                                           
        at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100)                                                                     
        at com.sun.proxy.$Proxy467.getApplication(Unknown Source)                                                                                            
        at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.mapOAuthApplication_aroundBody20(AMDefaultKeyManagerImpl.java:581)                            
        at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.mapOAuthApplication(AMDefaultKeyManagerImpl.java:561)                                         
        at org.wso2.carbon.apimgt.impl.APIConsumerImpl.mapExistingOAuthClient_aroundBody78(APIConsumerImpl.java:2517)                                        
        at org.wso2.carbon.apimgt.impl.APIConsumerImpl.mapExistingOAuthClient(APIConsumerImpl.java:2452)                                                     
        at org.wso2.carbon.apimgt.rest.api.store.v1.impl.ApplicationsApiServiceImpl.applicationsApplicationIdMapKeysPost(ApplicationsApiServiceImpl.java:1101
)                                                                                                                                                            
        at org.wso2.carbon.apimgt.rest.api.store.v1.ApplicationsApi.applicationsApplicationIdMapKeysPost(ApplicationsApi.java:281)                           
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                    
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)                                                  
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)                                          
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)                                                                                        
        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:265)                                                    
        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.doPost(AbstractHTTPServlet.java:217)                                                         
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)                                                                                      
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:279)                                                        
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)                                                 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)                                                         
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)                                                                            
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)                                                 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)                                                         
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)                                                               
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)                                                                
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)                                                            
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)                                                                     
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)                                                                      
        at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:107)                               
        at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:110)                                                       
        at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:102)                                                      
        at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:101)                                                      
        at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)                                                 
        at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)                                                                   
        at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:146)                                
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)                                                         
        at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:58)                                             
        at org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke(RequestCorrelationIdValve.java:126)                                            
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)                                                                  
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)                                                                       
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)                                                                        
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)                                                                  
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)                                                           
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)                                                               
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)                                                                   
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)                                                         
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)                                                         
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)                                                                
        at java.base/java.lang.Thread.run(Thread.java:829)                                                                                                   
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 19 column 1 path $             
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)                                    
        at com.google.gson.Gson.fromJson(Gson.java:932)                                                                                                      
        at com.google.gson.Gson.fromJson(Gson.java:897)                                                                                                      
        at feign.gson.GsonDecoder.decode(GsonDecoder.java:50)                                                                                                
        at feign.AsyncResponseHandler.decode(AsyncResponseHandler.java:115)                                                                                  
        ... 63 more                                                                                                                                          
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 19 column 1 path $                                                  
        at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:386)                                                                                
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215)                                    
        ... 67 more
    ```

Solution

  • APIM 4.1.0 is not compatible with IS 6.0.0. You will have to continue using IS 5.11.0 for APIM related use cases.

    The next APIM release will be compatible with IS 6.0.0.