Hi Armin, thank you for your reply.
I followed your advice and went to Monitoring -> Logs, found the relevant level log entry for my failed REST PostCall, and clicked the ‘i’ icon to see the details. I’ve included the log output from that detail view below for reference.
From what I can tell this log entry shows input parameters like path, postBody, Authorization.
It also shows Headers and Body of the response Simplifier received back from the API.
But it seems that I’m still unable to see the actual outgoing http request header, that Simplifier sends to the API.
Is there a specific configuration, or another method within Simplifier that would allow me to see the complete raw HTTP request, including all headers, as it leaves Simplifier and goes to the external API?
Kind regards and thank you for the help,
Deniz
{
“error” : “The Http request was not successful due to the client error: [400: Bad Request – The request contains bad syntax or cannot be fulfilled.] Response: {\”error\”:{\”code\”:\”REQUEST_ERROR\”,\”message\”:\”Malformed Request.\”,\”details\”:[{\”code\”:\”INVALID_VALUE_FOR_PROPERTY\”,\”message\”:\”Invalid value for property ‘BuyUnitPrice’.\”}]}}”,
“parameters” : {
“etag” : {
“dataType” : “String”,
“empty” : true
},
“path” : {
“dataType” : “String”,
“value” : “PurchaseRequisitionHandling.svc/Purch…”
},
“postFormat” : {
“dataType” : “String”,
“const” : “JSON”
},
“verb” : {
“dataType” : “String”,
“const” : “POST”
},
“postBody” : {
“dataType” : “Any”,
“value” : {
“PartNo” : “partNo”,
“FbuyUnitPrice” : “68”,
“CCostCenterCode” : “B”,
“BuyerCode” : “*”,
“TaxAmountCurrency” : “0.06”,
// weitere Felder
}
},
“Authorization” : {
“dataType” : “String”,
“value” : “Bearer eyJhbYWlsXqedDkTZg”
},
“Prefer” : {
“dataType” : “String”,
“empty” : true
}
},
“customDetails” : {
“Protocol” : “HTTP/1.1”,
“Status-Code” : 400,
“Headers” : {
“Server” : “ifs-sticky-ingress”,
“x-xss-protection” : “1; mode=block”,
“Strict-Transport-Security” : “max-age=31536000; includeSubDomains”,
“X-Frame-Options” : “SAMEORIGIN”,
“content-security-policy” : “default-src ‘self'”,
“Connection” : “keep-alive”,
“x-ifs-request-id” : “74384a60-48c9-451b-bf0c-523d6928bb6b”,
“content-language” : “en-US”,
“referrer-policy” : “same-origin”,
“odata-version” : “4.0”,
“X-Content-Type-Options” : “nosniff”,
“Date” : “Mon, 02 Jun 2025 07:02:37 GMT”,
“Set-Cookie” : “ifs-sticky=17a59e; Expires=Wed, 04 Jun 2025 07:02:37 GMT; Max-Age=172800; Path=/; Secure; HttpOnly”,
“vary” : “Accept-Encoding”
},
“Content-Type” : “application/json”,
“Entity” : “170 Byte”,
“Body” : “HttpEntity.Strict(text/plain; charset=UTF-8,170 bytes total)”
},
“stacktrace” : “com.itizzimo.appServer.connector.ConnectorType$ConnectorExecutionException: The Http request was not successful due to the client error: [400: Bad Request – The request contains bad syntax or cannot be fulfilled.] Response: {\”error\”:{\”code\”:\”REQUEST_ERROR\”,\”message\”:\”Malformed Request.\”,\”details\”:[{\”code\”:\”INVALID_VALUE_FOR_PROPERTY\”,\”message\”:\”Invalid value for property ‘BuyUnitPrice’.\”}]}}
at com.itizzimo.appServer.connector.types.rest.operations.stepsExecute.RESTStepExecuteRequest.com$itizzimo$appServer$connector$types$rest$operations$stepsExecute$RESTStepExecuteRequest$$toFailure(RESTStepExecuteRequest.scala:110)
at com.itizzimo.appServer.connector.types.rest.operations.stepsExecute.RESTStepExecuteRequest$$anonfun$handleHttpErrors$1.applyOrElse(RESTStepExecuteRequest.scala:92)
at com.itizzimo.appServer.connector.types.rest.operations.stepsExecute.RESTStepExecuteRequest$$anonfun$handleHttpErrors$1.applyOrElse(RESTStepExecuteRequest.scala:90)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.applyExecRecovery(ConnectorExecutionContext.scala:214)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:143)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalIntermediate(ConnectorExecutionContext.scala:163)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:140)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalIntermediate(ConnectorExecutionContext.scala:163)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:140)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalRecoveryIntermediate(ConnectorExecutionContext.scala:167)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:145)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalIntermediate(ConnectorExecutionContext.scala:163)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:140)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalIntermediate(ConnectorExecutionContext.scala:163)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:140)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalIntermediate(ConnectorExecutionContext.scala:163)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:140)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalRecoveryIntermediate(ConnectorExecutionContext.scala:167)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:145)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evalIntermediate(ConnectorExecutionContext.scala:163)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecutionImpl(ConnectorExecutionContext.scala:140)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecution(ConnectorExecutionContext.scala:109)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionContext.evaluateExecution$(ConnectorExecutionContext.scala:105)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionRunner.evaluateExecution(ConnectorExecutionRunner.scala:23)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionRunner$$anonfun$receive$1.applyOrElse(ConnectorExecutionRunner.scala:38)
at akka.actor.Actor.aroundReceive(Actor.scala:537)
at akka.actor.Actor.aroundReceive$(Actor.scala:535)
at com.itizzimo.appServer.connector.execution.ConnectorExecutionRunner.aroundReceive(ConnectorExecutionRunner.scala:23)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579)
at akka.actor.ActorCell.invoke(ActorCell.scala:547)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
at akka.dispatch.Mailbox.run(Mailbox.scala:231)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1623)
Caused by: com.itizzimo.appServer.helper.http.package$HttpRequestClientError: The Http request was not successful due to the client error: [400: Bad Request – The request contains bad syntax or cannot be fulfilled.] Response: {\”error\”:{\”code\”:\”REQUEST_ERROR\”,\”message\”:\”Malformed Request.\”,\”details\”:[{\”code\”:\”INVALID_VALUE_FOR_PROPERTY\”,\”message\”:\”Invalid value for property ‘BuyUnitPrice’.\”}]}}
at com.itizzimo.appServer.helper.http.definitions.logging.Exceptions$RequestExecution$.DefaultHttpRequestClientError(Exceptions.scala:122)
at com.itizzimo.appServer.helper.http.client.HttpClient.transformResponse(HttpClient.scala:241)
at com.itizzimo.appServer.helper.http.client.HttpClient.$anonfun$generalRequestWorkflow$4(HttpClient.scala:224)
at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307)
at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:51)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:74)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:64)
at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:101)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:101)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:49)
… 3 more
“,
“executionMetrics” : {
“begin” : “2025-06-02T09:02:12.27288429+02:00”,
“end” : “2025-06-02T09:02:12.375853709+02:00”,
“duration” : “102,969 ms”,
“durationNano” : 102969419,
“steps” : [ {
“name” : “REST Request Execution Operation”,
“begin” : “2025-06-02T09:02:12.27295075+02:00”,
“end” : “2025-06-02T09:02:12.37584191+02:00”,
“duration” : “102,891 ms”,
“durationNano” : 102891160,
“finishedSuccessfully” : false,
“subSteps” : [ {
“name” : “Prepare URI”,
“begin” : “2025-06-02T09:02:12.273038697+02:00”,
“end” : “2025-06-02T09:02:12.273103601+02:00”,
“duration” : “64,904 μs”,
“durationNano” : 64904,
“finishedSuccessfully” : true
}, {
“name” : “Prepare Http-Settings”,
“begin” : “2025-06-02T09:02:12.273121361+02:00”,
“end” : “2025-06-02T09:02:12.27316615+02:00”,
“duration” : “44,789 μs”,
“durationNano” : 44789,
“finishedSuccessfully” : true
}, {
“name” : “Prepare Payload”,
“begin” : “2025-06-02T09:02:12.273174361+02:00”,
“end” : “2025-06-02T09:02:12.273221377+02:00”,
“duration” : “47,016 μs”,
“durationNano” : 47016,
“finishedSuccessfully” : true
}, {
“name” : “Augment Http Request with Authorization”,
“begin” : “2025-06-02T09:02:12.273229324+02:00”,
“end” : “2025-06-02T09:02:12.273248521+02:00”,
“duration” : “19,197 μs”,
“durationNano” : 19197,
“finishedSuccessfully” : true
}, {
“name” : “Execute Http Request”,
“begin” : “2025-06-02T09:02:12.273272115+02:00”,
“end” : “2025-06-02T09:02:12.375827969+02:00”,
“duration” : “102,556 ms”,
“durationNano” : 102555854,
“finishedSuccessfully” : false
} ]
} ]
},
“additionalExecutionProperties” : {
“httpErrorEntity” : “170 Byte”,
“httpErrorResponse” : {
“Protocol” : “HTTP/1.1”,
“Status-Code” : 400,
“Headers” : {
“Server” : “ifs-sticky-ingress”,
“x-xss-protection” : “1; mode=block”,
“Strict-Transport-Security” : “max-age=31536000; includeSubDomains”,
“X-Frame-Options” : “SAMEORIGIN”,
“content-security-policy” : “default-src ‘self'”,
“Connection” : “keep-alive”,
“x-ifs-request-id” : “74384a60-48c9-451b-bf0c-523d6928bb6b”,
“content-language” : “en-US”,
“referrer-policy” : “same-origin”,
“odata-version” : “4.0”,
“X-Content-Type-Options” : “nosniff”,
“Date” : “Mon, 02 Jun 2025 07:02:37 GMT”,
“Set-Cookie” : “ifs-sticky=1749e; Expires=Wed, 04 Jun 2025 07:02:37 GMT; Max-Age=172800; Path=/; Secure; HttpOnly”,
“vary” : “Accept-Encoding”
},
“Content-Type” : “application/json”,
“Entity” : “170 Byte”
},
“names” : {
“connector” : “IFS_Cloud_Rest”,
“connectorCall” : “PostCall”
},
“uri” : “https://ict.kunertgroup.com/main/ifsapplications/projection/v1/PurchaseRequisitionHandling.svc/PurchaseRe…”,
“httpErrorStatusCodeDefinition” : {
“intValue” : 400,
“reason” : “Bad Request”,
“defaultMessage” : “The request contains bad syntax or cannot be fulfilled.”,
“type” : {
“isSuccess” : false,
“isFailure” : true,
“isRedirection” : false,
“allowsEntity” : true
}
},
“httpErrorContentTypeDefinition” : {
“mediaType” : {
“main” : “application”,
“sub” : “json”,
“class” : “Fixed Charset”,
“compressibility” : “Compressible”,
“information” : {
“isWildcard” : false,
“isMultipart” : false,
“isCompressible” : true,
“isBinary” : false,
“isMessage” : false,
“isApplication” : true,
“isVideo” : false,
“isAudio” : false,
“isText” : false,
“isImage” : false
},
“fileExtensions” : [ “json” ],
“qValue” : 1.0
},
“charset” : {
“value” : “UTF-8”,
“aliases” : [ “UTF8” ],
“qValue” : 1.0
}
},
“httpErrorStatusCode” : 400,
“httpErrorContentType” : “application/json”,
“httpErrorEntityDefinition” : “170 Byte”,
“httpErrorMessage” : “The Http request was not successful due to the client error: [400: Bad Request – The request contains bad syntax or cannot be fulfilled.] Response: {\”error\”:{\”code\”:\”REQUEST_ERROR\”,\”message\”:\”Malformed Request.\”,\”details\”:[{\”code\”:\”INVALID_VALUE_FOR_PROPERTY\”,\”message\”:\”Invalid value for property ‘BuyUnitPrice’.\”}]}}”,
“withApiKey” : false
}
}
-
This reply was modified 8 months, 1 week ago by
Deniz.