Search code examples
oauth-2.0azure-active-directorymicrosoft-graph-apibearer-tokenmendix

Why is requesting a bearer access token for microsoft graph api not working?


I'm trying to recieve an access token to use as authorization bearer token for microsoft graph api rest calls, all that in mendix. I'm following this guide -> (https://learn.microsoft.com/en-us/graph/auth-v2-user), but at step 3 I'm met with an error message when trying to use the code recieved from step 2 after loggin in with my microsoft account and accepting the permissions.

This is the error:

An error has occurred while handling the request. [User 'lenny' with session id '9950dffb-XXXX-XXXX-XXXX-XXXXXXXX1d29' and roles 'Mitarbeiter']

--------

com.mendix.modules.microflowengine.MicroflowException: Error calling REST service
    at Zimmerreservation.SUB_RequestAuthToken (CallRest : 'Call REST (POST)')

Advanced stacktrace:
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:79)

Caused by: com.mendix.systemwideinterfaces.MendixRuntimeException: java.security.PrivilegedActionException: org.apache.http.client.ClientProtocolException
    at com.mendix.integration.util.PrivilegedUtil$$anonfun$withPrivileged$2.applyOrElse(PrivilegedUtil.scala:17)

Caused by: java.security.PrivilegedActionException: null
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.mendix.integration.util.PrivilegedUtil$.$anonfun$withPrivileged$1(PrivilegedUtil.scala:13)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.integration.util.PrivilegedUtil$.withPrivileged(PrivilegedUtil.scala:13)
    at com.mendix.http.LoggableHttpClient.execute(LoggableHttpClient.scala:26)
    at com.mendix.http.HttpExecutor$.$anonfun$request$1(HttpExecutor.scala:15)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.http.HttpExecutor$.request(HttpExecutor.scala:15)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:73)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:39)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:31)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:28)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:167)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:167)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:114)
    at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48)
    at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.scala:25)
    at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:80)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:79)
    at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:38)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.runMicroflow(ExecuteMicroflowAction.scala:76)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.$anonfun$apply$3(ExecuteMicroflowAction.scala:42)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:29)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.$anonfun$apply$4(RegularClientAction.scala:55)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:42)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:39)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.withState(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:53)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:43)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:22)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:109)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:109)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:107)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$5(ContextHandling.scala:51)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:49)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:49)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:51)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:26)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:23)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:18)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:107)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10)
    at com.mendix.webui.actions.client.RegularClientAction.profileRequest(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:104)
    at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:106)
    at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:79)
    at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:35)
    at com.mendix.external.connector.MxRuntimeConnector.lambda$processRequest$0(MxRuntimeConnector.java:74)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:73)
    at com.mendix.basis.impl.MxRuntimeImplBase.processRequest(MxRuntimeImplBase.java:831)
    at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.scala:25)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
    at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:516)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
    at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: org.apache.http.client.ClientProtocolException: null
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at com.mendix.http.LoggableHttpClient.$anonfun$execute$3(LoggableHttpClient.scala:26)
    at com.mendix.integration.util.PrivilegedUtil$$anon$1.run(PrivilegedUtil.scala:14)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.mendix.integration.util.PrivilegedUtil$.$anonfun$withPrivileged$1(PrivilegedUtil.scala:13)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.integration.util.PrivilegedUtil$.withPrivileged(PrivilegedUtil.scala:13)
    at com.mendix.http.LoggableHttpClient.execute(LoggableHttpClient.scala:26)
    at com.mendix.http.HttpExecutor$.$anonfun$request$1(HttpExecutor.scala:15)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.http.HttpExecutor$.request(HttpExecutor.scala:15)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:73)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:39)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:31)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:28)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:167)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:167)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:114)
    at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48)
    at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.scala:25)
    at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:80)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:79)
    at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:38)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.runMicroflow(ExecuteMicroflowAction.scala:76)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.$anonfun$apply$3(ExecuteMicroflowAction.scala:42)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:29)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.$anonfun$apply$4(RegularClientAction.scala:55)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:42)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:39)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.withState(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:53)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:43)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:22)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:109)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:109)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:107)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$5(ContextHandling.scala:51)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:49)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:49)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:51)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:26)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:23)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:18)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:107)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10)
    at com.mendix.webui.actions.client.RegularClientAction.profileRequest(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:104)
    at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:106)
    at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:79)
    at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:35)
    at com.mendix.external.connector.MxRuntimeConnector.lambda$processRequest$0(MxRuntimeConnector.java:74)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:73)
    at com.mendix.basis.impl.MxRuntimeImplBase.processRequest(MxRuntimeImplBase.java:831)
    at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.scala:25)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
    at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:516)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
    at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: org.apache.http.ProtocolException: Target host is not specified
    at org.apache.http.impl.conn.DefaultRoutePlanner.determineRoute(DefaultRoutePlanner.java:71)
    at org.apache.http.impl.client.InternalHttpClient.determineRoute(InternalHttpClient.java:125)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at com.mendix.http.LoggableHttpClient.$anonfun$execute$3(LoggableHttpClient.scala:26)
    at com.mendix.integration.util.PrivilegedUtil$$anon$1.run(PrivilegedUtil.scala:14)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.mendix.integration.util.PrivilegedUtil$.$anonfun$withPrivileged$1(PrivilegedUtil.scala:13)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.integration.util.PrivilegedUtil$.withPrivileged(PrivilegedUtil.scala:13)
    at com.mendix.http.LoggableHttpClient.execute(LoggableHttpClient.scala:26)
    at com.mendix.http.HttpExecutor$.$anonfun$request$1(HttpExecutor.scala:15)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.http.HttpExecutor$.request(HttpExecutor.scala:15)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:73)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:39)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:31)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:28)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:167)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:167)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:114)
    at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48)
    at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.scala:25)
    at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:80)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:79)
    at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:38)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.runMicroflow(ExecuteMicroflowAction.scala:76)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.$anonfun$apply$3(ExecuteMicroflowAction.scala:42)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:29)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.$anonfun$apply$4(RegularClientAction.scala:55)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:42)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:39)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.withState(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:53)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:43)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:22)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:109)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:109)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:107)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$5(ContextHandling.scala:51)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:49)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:49)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:51)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:26)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:23)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:18)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:107)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10)
    at com.mendix.webui.actions.client.RegularClientAction.profileRequest(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:104)
    at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:106)
    at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:79)
    at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:35)
    at com.mendix.external.connector.MxRuntimeConnector.lambda$processRequest$0(MxRuntimeConnector.java:74)
    at com.mendix.util.classloading.Runner.withContextClassLoader(Runner.java:19)
    at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:73)
    at com.mendix.basis.impl.MxRuntimeImplBase.processRequest(MxRuntimeImplBase.java:831)
    at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.scala:25)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
    at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:516)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
    at java.base/java.lang.Thread.run(Thread.java:834)

I'm not sure what causes the error. Is there a way to fix this? I can give more information about the program if needed.


Solution

  • I followed the same guide Get access on behalf of a user - Microsoft Graph | Microsoft Docs to generate an access token to use as authorization bearer token for Microsoft Graph API rest calls using Postman and it worked for me.

    After logging with Microsoft Account and give user consent, we will receive a Code.

    Go to your App in the App Registrations in the Azure Active Directory --> Click on Authentication --> Checkbox the Access Tokens and ID tokens based on your App Requirement --> Click on Save

    enter image description here

    To get the client secret, Go to your App in the App Registrations in the Azure Active Directory --> Click on Certificates & Secrets --> Under Client Secrets, click on New Client Secret --> Give Description and Click on Add --> Copy the value and keep it somewhere as it is one-time readable.

    enter image description here

    Now, we can make a POST request as follows :

    POST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
    Headers : 
    Content-Type: application/x-www-form-urlencoded
    
    Body : 
    client_id: App Client ID
    grant_type: authorization_code
    scope: user.read%20mail.read
    code: Code received in the second step
    client_secret: Client Secret Generated in the App
    

    Now, you would be able to receive an access token to use as authorization bearer token.

    enter image description here

    Note : I did not get a chance to test the same in Mendix