-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
rpa-bridge-1.1.x, rpa-bridge-1.2.0
-
None
Environment (Required on creation):
- Any camunda version
- Corresponding RPA bridge version
- In the engine configure a custom date pattern
Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):
2021-12-17 11:01:20.696 ERROR 16996 --- [criptionManager] org.camunda.bpm.client : TASK/CLIENT-03001 Exception while fetch and lock task.org.camunda.bpm.client.impl.EngineClientException: TASK/CLIENT-02005 Exception while mapping json object to response dto class 'class [Lorg.camunda.bpm.client.task.impl.ExternalTaskImpl;' at org.camunda.bpm.client.impl.EngineClientLogger.exceptionWhileMappingJsonObject(EngineClientLogger.java:51) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.impl.RequestExecutor.deserializeResponse(RequestExecutor.java:164) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.impl.RequestExecutor$1.handleEntity(RequestExecutor.java:121) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.impl.RequestExecutor$1.handleResponse(RequestExecutor.java:152) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:223) ~[httpclient-4.5.13.jar:4.5.13] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:165) ~[httpclient-4.5.13.jar:4.5.13] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:140) ~[httpclient-4.5.13.jar:4.5.13] at org.camunda.bpm.client.impl.RequestExecutor.executeRequest(RequestExecutor.java:88) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.impl.RequestExecutor.postRequest(RequestExecutor.java:74) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.impl.EngineClient.fetchAndLock(EngineClient.java:80) ~[camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.fetchAndLock(TopicSubscriptionManager.java:135) [camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.acquire(TopicSubscriptionManager.java:101) [camunda-external-task-client-7.15.0.jar:7.15.0] at org.camunda.bpm.client.topic.impl.TopicSubscriptionManager.run(TopicSubscriptionManager.java:87) [camunda-external-task-client-7.15.0.jar:7.15.0] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201] Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2021-12-17T11:31:20": not a valid representation (error: Failed to parse Date value '2021-12-17T11:31:20': Unparseable date: "2021-12-17T11:31:20") at [Source: (org.apache.http.conn.EofSensorInputStream); line: 1, column: 270] (through reference chain: java.lang.Object[][0]->org.camunda.bpm.client.task.impl.ExternalTaskImpl["lockExpirationTime"]) at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:67) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:1702) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.DeserializationContext.handleWeirdStringValue(DeserializationContext.java:947) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate(StdDeserializer.java:556) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate(StdDeserializer.java:497) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateBasedDeserializer._parseDate(DateDeserializers.java:200) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:290) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:273) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:293) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:195) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:21) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4526) ~[jackson-databind-2.11.4.jar:2.11.4] at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3505) ~[jackson-databind-2.11.4.jar:2.11.4] at org.camunda.bpm.client.impl.RequestExecutor.deserializeResponse(RequestExecutor.java:160) ~[camunda-external-task-client-7.15.0.jar:7.15.0] ... 12 common frames omitted
Steps to reproduce (Required on creation):
- configure a custom date format in the engine
- deploy and start a process with an RPA task
- configure and start the RPA bridge
Observed Behavior (Required on creation):
During fetch and lock, the External Task Client throws an error, because it expects the default date format.
Expected behavior (Required on creation):
The date format is configurable in the RPA Bridge like it is in the External Task Client.
Root Cause (Required on prioritization):
The External Task Client used in the RPA Bridge is not directly configurable for the end user. There is no way to configure a custom date format for the client.
Solution Ideas (Optional):
Add a property to the RPA bridge that expects a date format String. Pass that format to the External Task client when we instantiate it.