Error calling REST service at MyFirstModule.TC_Login_RESTCALL (CallRest : Call REST (POST))

1
When I am trying to call a REST API (POST) which is used for login to a system. It gets  User Id Password Server URL    and in response returns a string with “Success” or “Failure” message.  These are the steps I followed JSON Structure Export Mapping    Microflow     But I am getting this error.    com.mendix.core.CoreException: com.mendix.modules.microflowengine.MicroflowException: Error calling REST service     at MyFirstModule.TC_Login_RESTCALL (CallRest : 'Call REST (POST)') Advanced stacktrace:     at com.mendix.basis.component.InternalCoreBase.execute(InternalCoreBase.java:389) Caused by: com.mendix.modules.microflowengine.MicroflowException: Error calling REST service     at MyFirstModule.TC_Login_RESTCALL (CallRest : 'Call REST (POST)') Advanced stacktrace:     at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:57) Caused by: com.mendix.modules.microflowengine.MicroflowException: 415:      at MyFirstModule.TC_Login_RESTCALL (CallRest : 'Call REST (POST)')  
asked
3 answers
0

An error has occurred while handling the request. [User 'Anonymous_9e5b10ed-42f2-492d-a27c-ece26bda3ab6' with session id 'fa9171f3-ceb1-4e80-a7d7-0370c5c17f78' and roles 'Administrator']

--------

com.mendix.core.CoreException: com.mendix.modules.microflowengine.MicroflowException: Error calling REST service
    at MyFirstModule.TC_Login_RESTCALL (CallRest : 'Call REST (POST)')

Advanced stacktrace:
    at com.mendix.basis.component.InternalCoreBase.execute(InternalCoreBase.java:389)

Caused by: com.mendix.modules.microflowengine.MicroflowException: Error calling REST service
    at MyFirstModule.TC_Login_RESTCALL (CallRest : 'Call REST (POST)')

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

Caused by: com.mendix.modules.microflowengine.MicroflowException: 415: 
    at MyFirstModule.TC_Login_RESTCALL (CallRest : 'Call REST (POST)')

Advanced stacktrace:
    at com.mendix.integration.actions.microflow.RestCallAction.checkStatusCode(RestCallAction.scala:92)
    at com.mendix.integration.actions.microflow.RestCallAction.handleResponse(RestCallAction.scala:74)
    at com.mendix.integration.actions.microflow.RestCallAction.$anonfun$execute$2(RestCallAction.scala:53)
    at com.mendix.integration.util.AutoCloseableUtil$.using(AutoCloseableUtil.scala:10)
    at com.mendix.integration.actions.microflow.RestCallAction.execute(RestCallAction.scala:52)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:201)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:157)
    at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:79)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:57)
    at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:55)
    at com.mendix.basis.actionmanagement.ActionManagerBase$1.execute(ActionManagerBase.java:150)
    at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
    at com.mendix.basis.actionmanagement.ActionManagerBase.executeSync(ActionManagerBase.java:155)
    at com.mendix.basis.component.InternalCoreBase.execute(InternalCoreBase.java:383)
    at com.mendix.basis.component.InternalCoreBase.execute(InternalCoreBase.java:398)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.runMicroflow(ExecuteMicroflowAction.scala:46)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:32)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:15)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$4(RegularClientAction.scala:46)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:33)
    at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:22)
    at com.mendix.webui.actions.client.RegularClientAction.withState(RegularClientAction.scala:21)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:44)
    at scala.util.Try$.apply(Try.scala:209)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:44)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:42)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$4(ContextHandling.scala:41)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    at com.mendix.basis.actionmanagement.IMonitoredAction$$anon$1.execute(IMonitoredAction.scala:47)
    at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
    at com.mendix.basis.actionmanagement.IMonitoredAction.monitor(IMonitoredAction.scala:49)
    at com.mendix.basis.actionmanagement.IMonitoredAction.monitor$(IMonitoredAction.scala:25)
    at com.mendix.webui.requesthandling.helpers.ContextHandling$ClientMonitoredAction.monitor(ContextHandling.scala:49)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:41)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:27)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:21)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:24)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:19)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:21)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:42)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    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:21)
    at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:39)
    at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:124)
    at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:101)
    at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:40)
    at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:72)
    at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:69)
    at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32)
    at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:75)
    at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.java:872)
    at com.mendix.m2ee.appcontainer.server.handler.RuntimeHandler.service(RuntimeHandler.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:867)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:502)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:748)
 

answered
0

What i would do is apply custom error handling on your REST service. This enables you to read both the last error but also the http response content. It could be that the server returns a non 200 code e.g. when you are unable to login (401?) which Mendix then interprets as an error and thus causes a rollback of your microflow. Because of the rollback the response is not logged cause you to miss your ‘failure’ string.

answered
0

Did you add a Content-Type header? Http status code 415 means

Unsupported Media Type

answered