Consumed REST Service - Not Implemented Error when exporting response

0
I am currently using the Consumed REST service (CRS) to integrate with an external application. The response is stored in an entity (this was created with the CRS document menu.When I actually call the "Call REST Service" microflow action I get the following error when Mendix is trying to export the JSON response to the entity - "scala.NotImplementedError: an implementation is missing".As far as I understand this means that the export is failing since it has not been implemented, but this implementation is on Mendix end, so I'm not sure what I'm doing wrong here.Complete stacktrace of the errorcom.mendix.webui.WebUIException: Exception while executing runtime operation at com.mendix.webui.actions.client.RuntimeOperationAction.$anonfun$apply$3(RuntimeOperationAction.scala:60) Caused by: com.mendix.modules.microflowengine.MicroflowException: scala.NotImplementedError: an implementation is missing at <my_microflow> (SubMicroflow : '<my_submicroflow>') Advanced stacktrace: at com.mendix.modules.microflowengine.MicroflowUtil$.processException(MicroflowUtil.scala:73) Caused by: com.mendix.core.CoreRuntimeException: scala.NotImplementedError: an implementation is missing at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:126) Caused by: scala.NotImplementedError: an implementation is missing at com.mendix.integration.exporter.json.JsonExportWriter.writeValue(JsonExportWriter.scala:99) at com.mendix.integration.exporter.Exporter.exportValue(Exporter.scala:172) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$2(Exporter.scala:146) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$2$adapted(Exporter.scala:144) at scala.collection.immutable.Vector.foreach(Vector.scala:2125) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$1(Exporter.scala:144) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$1$adapted(Exporter.scala:141) at scala.Option.foreach(Option.scala:437) at com.mendix.integration.exporter.Exporter.exportObject(Exporter.scala:141) at com.mendix.integration.exporter.Exporter.$anonfun$exportListOfObjects$2(Exporter.scala:126) at com.mendix.integration.exporter.Exporter.$anonfun$exportListOfObjects$2$adapted(Exporter.scala:125) at scala.collection.immutable.List.foreach(List.scala:323) at com.mendix.integration.exporter.Exporter.$anonfun$exportListOfObjects$1(Exporter.scala:125) at com.mendix.integration.exporter.Exporter.withContainer(Exporter.scala:109) at com.mendix.integration.exporter.Exporter.exportListOfObjects(Exporter.scala:123) at com.mendix.integration.exporter.Exporter.handleObjectMapping(Exporter.scala:93) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$2(Exporter.scala:150) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$2$adapted(Exporter.scala:144) at scala.collection.immutable.Vector.foreach(Vector.scala:2125) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$1(Exporter.scala:144) at com.mendix.integration.exporter.Exporter.$anonfun$exportObject$1$adapted(Exporter.scala:141) at scala.Option.foreach(Option.scala:437) at com.mendix.integration.exporter.Exporter.exportObject(Exporter.scala:141) at com.mendix.integration.exporter.Exporter.handleObjectMapping(Exporter.scala:85) at com.mendix.integration.exporter.Exporter.exportObject(Exporter.scala:53) at com.mendix.integration.exporter.Exporter.exportObject$(Exporter.scala:52) at com.mendix.integration.exporter.json.JsonExporter.exportObject(JsonExporter.scala:11) at com.mendix.integration.exporter.Exporter.exportToStream(Exporter.scala:63) at com.mendix.integration.exporter.Exporter.exportToStream$(Exporter.scala:62) at com.mendix.integration.exporter.json.JsonExporter.exportToStream(JsonExporter.scala:11) at com.mendix.integration.internal.InternalIntegration.$anonfun$doExportToStream$2(InternalIntegration.scala:134) at scala.util.Using$.resource(Using.scala:296) at com.mendix.integration.internal.InternalIntegration.doExportToStream(InternalIntegration.scala:133) at com.mendix.integration.internal.InternalIntegration.doExportToStream$(InternalIntegration.scala:119) at com.mendix.integration.internal.InternalIntegrationImpl.doExportToStream(InternalIntegrationImpl.scala:40) at com.mendix.integration.actions.microflow.RestOperationCallAction.exportHttpEntity(RestOperationCallAction.scala:166) at com.mendix.integration.actions.microflow.RestOperationCallAction.$anonfun$httpEntity$2(RestOperationCallAction.scala:143) at scala.Option.map(Option.scala:242) at com.mendix.integration.actions.microflow.RestOperationCallAction.implicitMapping$1(RestOperationCallAction.scala:143) at com.mendix.integration.actions.microflow.RestOperationCallAction.httpEntity(RestOperationCallAction.scala:146) at com.mendix.integration.actions.microflow.RestOperationCallAction.prepareRequest(RestOperationCallAction.scala:132) at com.mendix.integration.actions.microflow.RestOperationCallAction.$anonfun$execute$6(RestOperationCallAction.scala:82) at scala.util.Success.flatMap(Try.scala:266) at com.mendix.integration.actions.microflow.RestOperationCallAction.$anonfun$execute$4(RestOperationCallAction.scala:81) at scala.util.Success.flatMap(Try.scala:266) at com.mendix.integration.actions.microflow.RestOperationCallAction.execute(RestOperationCallAction.scala:78) at com.mendix.integration.actions.microflow.RestOperationCallAction.execute(RestOperationCallAction.scala:49) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:29) at scala.Option.flatMap(Option.scala:283) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:26) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:213) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeMicroflow(MicroflowImpl.scala:146) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAction$1(MicroflowImpl.scala:126) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.$anonfun$withSpan$1(OpenTelemetryUtil.scala:9) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.$anonfun$usingSpanWithCustomStatus$2(OpenTelemetryUtilImpl.scala:47) at scala.util.Using$.apply(Using.scala:296) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.usingSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:46) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.usingSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:41) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:31) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.withSpan(OpenTelemetryUtil.scala:9) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.withSpan$(OpenTelemetryUtil.scala:8) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withSpan(OpenTelemetryUtilImpl.scala:12) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:125) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:73) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:73) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:49) at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:81) at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:123) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:123) at com.mendix.basis.component.ExecutionCore.doExecuteSync(ExecutionCore.scala:149) at com.mendix.basis.component.ExecutionCore.doExecuteSync$(ExecutionCore.scala:148) at com.mendix.basis.component.InternalCore.doExecuteSync(InternalCore.scala:22) at com.mendix.basis.component.ExecutionCore.executeSync(ExecutionCore.scala:98) at com.mendix.basis.component.ExecutionCore.executeSync$(ExecutionCore.scala:95) at com.mendix.basis.component.InternalCore.executeSync(InternalCore.scala:22) at com.mendix.modules.microflowengine.MicroflowExecuter$.executeSync(MicroflowExecuter.scala:19) at com.mendix.modules.microflowengine.actions.SubMicroflowAction.execute(SubMicroflowAction.scala:36) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:29) at scala.Option.flatMap(Option.scala:283) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:26) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:213) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeMicroflow(MicroflowImpl.scala:146) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAction$1(MicroflowImpl.scala:126) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.$anonfun$withSpan$1(OpenTelemetryUtil.scala:9) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.$anonfun$usingSpanWithCustomStatus$2(OpenTelemetryUtilImpl.scala:47) at scala.util.Using$.apply(Using.scala:296) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.usingSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:46) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.usingSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:41) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:31) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.withSpan(OpenTelemetryUtil.scala:9) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.withSpan$(OpenTelemetryUtil.scala:8) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withSpan(OpenTelemetryUtilImpl.scala:12) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:125) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:73) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:73) at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:49) at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:81) at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:123) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:123) at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:63) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.runMicroflow(MicroflowRuntimeOperationExecutor.scala:103) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.$anonfun$doApply$6(MicroflowRuntimeOperationExecutor.scala:76) at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:30) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.$anonfun$apply$1(RegularClientAction.scala:72) at com.mendix.webui.requesthandling.helpers.StateHandling.withState(StateHandling.scala:46) at com.mendix.webui.requesthandling.helpers.StateHandling.withState$(StateHandling.scala:43) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.withState(RegularClientAction.scala:66) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:70) at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:66) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.doApply(MicroflowRuntimeOperationExecutor.scala:77) at com.mendix.webui.actions.client.MicroflowRuntimeOperationExecutor.apply(MicroflowRuntimeOperationExecutor.scala:47) at com.mendix.webui.actions.client.RuntimeOperationAction.runOperation(RuntimeOperationAction.scala:81) at com.mendix.webui.actions.client.RuntimeOperationAction.$anonfun$apply$3(RuntimeOperationAction.scala:57) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.$anonfun$withSpan$1(OpenTelemetryUtil.scala:9) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.$anonfun$usingSpanWithCustomStatus$2(OpenTelemetryUtilImpl.scala:47) at scala.util.Using$.apply(Using.scala:296) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.usingSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:46) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.usingSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:41) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withSpanWithCustomStatus(OpenTelemetryUtilImpl.scala:31) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.withSpan(OpenTelemetryUtil.scala:9) at com.mendix.modules.opentelemetry.OpenTelemetryUtil.withSpan$(OpenTelemetryUtil.scala:8) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withSpan(OpenTelemetryUtilImpl.scala:12) at com.mendix.webui.actions.client.RuntimeOperationAction.apply(RuntimeOperationAction.scala:54) at com.mendix.webui.actions.client.RuntimeOperationAction.apply(RuntimeOperationAction.scala:26) at com.mendix.webui.actions.client.RegularClientAction$Helpers$.$anonfun$liftEither$1(RegularClientAction.scala:30) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:121) at scala.util.Try$.apply(Try.scala:217) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:121) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:119) at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$9(ContextHandling.scala:81) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:52) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:52) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:81) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:53) at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:95) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:39) at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:24) at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:95) at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:119) 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:95) at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:116) at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:101) at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:72) at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:37) at com.mendix.external.connector.MxRuntimeConnector.$anonfun$doProcessRequest$2(MxRuntimeConnector.scala:68) at com.mendix.external.connector.MxRuntimeConnector.$anonfun$doProcessRequest$2$adapted(MxRuntimeConnector.scala:68) at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20) at com.mendix.external.connector.MxRuntimeConnector.doProcessRequest(MxRuntimeConnector.scala:68) at com.mendix.external.connector.MxRuntimeConnector.$anonfun$processRequest$1(MxRuntimeConnector.scala:34) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.$anonfun$withCurrentContextFrom$1(OpenTelemetryUtilImpl.scala:18) at scala.util.Using$.resource(Using.scala:296) at com.mendix.modules.opentelemetry.OpenTelemetryUtilImpl$.withCurrentContextFrom(OpenTelemetryUtilImpl.scala:17) at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.scala:34) at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.scala:1103) at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.scala:40) at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.eclipse.jetty.ee8.servlet.ServletHolder.handle(ServletHolder.java:640) at org.eclipse.jetty.ee8.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1374) at org.eclipse.jetty.ee8.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:175) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:171) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.eclipse.jetty.ee8.servlet.ServletHandler.doHandle(ServletHandler.java:454) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181) at org.eclipse.jetty.ee8.nested.SessionHandler.doHandle(SessionHandler.java:519) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181) at org.eclipse.jetty.ee8.nested.ContextHandler.doHandle(ContextHandler.java:885) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:152) at org.eclipse.jetty.ee8.servlet.ServletHandler.doScope(ServletHandler.java:423) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150) at org.eclipse.jetty.ee8.nested.SessionHandler.doScope(SessionHandler.java:503) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150) at org.eclipse.jetty.ee8.nested.ContextHandler.doScope(ContextHandler.java:830) at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.ee8.nested.ContextHandler.handle(ContextHandler.java:1443) at org.eclipse.jetty.ee8.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1289) at org.eclipse.jetty.ee8.nested.HttpChannel.dispatch(HttpChannel.java:616) at org.eclipse.jetty.ee8.nested.HttpChannel.handle(HttpChannel.java:459) at org.eclipse.jetty.ee8.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2450) at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1064) at org.eclipse.jetty.server.Server.handle(Server.java:182) at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662) at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164) at java.base/java.lang.Thread.run(Thread.java:1583)
asked
2 answers
0

Interesting error indeed, never seen before...

My first thought is that it may originate from a "quick restart", that is: you implemented while the app was running and a rerun did not fully compile the newly created microflows (thus: not implemented).

Did you try to shutdown and restart the app? Or does this happen on other environment than local?

Good luck!

Johan

answered
0

Hi Mitrajeet Golsangi,


It's hard to see what is happening with the information I see in your post. I'm from the team that maintains the Mapping editor in Mendix, can you raise a ticket with us where you provide a small app that can reproduce this issue?


A part I'm specifically interested in is the combination of the Export mapping + the JSON content that is the input for the Export mapping. I expect something goes wrong there.

Regards,


Paul

answered