[
https://issues.apache.org/jira/browse/CAMEL-12334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16398278#comment-16398278
]
Hemang Ajmera commented on CAMEL-12334:
---------------------------------------
Please change this to bug. With camel version 2.20.2, if there is date or time
in datamodel, we get error. Here is the below error stack which I am getting
{code}
2018-03-14 14:15:58.867 ERROR 4920 --- [t@1270383967-22]
o.a.camel.processor.DefaultErrorHandler : Failed delivery for (MessageId:
ID-INL-3HWR6C2-1521016907071-0-2 on ExchangeId:
ID-INL-3HWR6C2-1521016907071-0-1). Exhausted after delivery attempt: 1 caught:
org.apache.camel.component.salesforce.api.SalesforceException: Error parsing
XML response: Error reading ZonedDateTime from value 2017-03-14: Text
'2017-03-14' could not be parsed at index 10
---- Debugging information ----
message : Error reading ZonedDateTime from value 2017-03-14: Text
'2017-03-14' could not be parsed at index 10
cause-exception : java.time.format.DateTimeParseException
cause-message : Text '2017-03-14' could not be parsed at index 10
class : java.time.ZonedDateTime
required-type : java.time.ZonedDateTime
converter-type :
org.apache.camel.component.salesforce.api.utils.DateTimeConverter
line number : 1
class[1] : org.apache.camel.salesforce.dto.Contact
converter-type[1] :
com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version : 1.4.10
-------------------------------
Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor
Elapsed (ms)
[route1 ] [route1 ]
[salesforce://ContactUpdates?apiVersion=41.0&replayId=-2
] [ 6402]
[route1 ] [log1 ] [log
] [ 16]
[route1 ] [toD1 ] [
] [ 6379]
Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.component.salesforce.api.SalesforceException: Error parsing
XML response: Error reading ZonedDateTime from value 2017-03-14: Text
'2017-03-14' could not be parsed at index 10
---- Debugging information ----
message : Error reading ZonedDateTime from value 2017-03-14: Text
'2017-03-14' could not be parsed at index 10
cause-exception : java.time.format.DateTimeParseException
cause-message : Text '2017-03-14' could not be parsed at index 10
class : java.time.ZonedDateTime
required-type : java.time.ZonedDateTime
converter-type :
org.apache.camel.component.salesforce.api.utils.DateTimeConverter
line number : 1
class[1] : org.apache.camel.salesforce.dto.Contact
converter-type[1] :
com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version : 1.4.10
-------------------------------
at
org.apache.camel.component.salesforce.internal.processor.XmlRestProcessor.processResponse(XmlRestProcessor.java:267)
~[camel-salesforce-2.20.2.jar:2.20.2]
at
org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor$6.onResponse(AbstractRestProcessor.java:381)
~[camel-salesforce-2.20.2.jar:2.20.2]
at
org.apache.camel.component.salesforce.internal.client.DefaultRestClient$DelegatingClientCallback.onResponse(DefaultRestClient.java:503)
~[camel-salesforce-2.20.2.jar:2.20.2]
at
org.apache.camel.component.salesforce.internal.client.AbstractClientBase$1.onComplete(AbstractClientBase.java:218)
~[camel-salesforce-2.20.2.jar:2.20.2]
at
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:459)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:405)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:298)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1068)
~[jetty-http-9.4.8.v20171121.jar:9.4.8.v20171121]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1390)
~[jetty-http-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:171)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:132)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:137)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:155)
~[jetty-client-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
~[jetty-io-9.4.8.v20171121.jar:9.4.8.v20171121]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
~[jetty-io-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:289)
~[jetty-io-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:149)
~[jetty-io-9.4.8.v20171121.jar:9.4.8.v20171121]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
~[jetty-io-9.4.8.v20171121.jar:9.4.8.v20171121]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
~[jetty-io-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
~[jetty-util-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
~[jetty-util-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
~[jetty-util-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
~[jetty-util-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
~[jetty-util-9.4.8.v20171121.jar:9.4.8.v20171121]
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
~[jetty-util-9.4.8.v20171121.jar:9.4.8.v20171121]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_152]
Caused by: com.thoughtworks.xstream.converters.ConversionException: Error
reading ZonedDateTime from value 2017-03-14: Text '2017-03-14' could not be
parsed at index 10
---- Debugging information ----
message : Error reading ZonedDateTime from value 2017-03-14: Text
'2017-03-14' could not be parsed at index 10
cause-exception : java.time.format.DateTimeParseException
cause-message : Text '2017-03-14' could not be parsed at index 10
class : java.time.ZonedDateTime
required-type : java.time.ZonedDateTime
converter-type :
org.apache.camel.component.salesforce.api.utils.DateTimeConverter
line number : 1
class[1] : org.apache.camel.salesforce.dto.Contact
converter-type[1] :
com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version : 1.4.10
-------------------------------
at
org.apache.camel.component.salesforce.api.utils.DateTimeConverter.unmarshal(DateTimeConverter.java:45)
~[camel-salesforce-2.20.2.jar:2.20.2]
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:503)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:429)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:281)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
~[xstream-1.4.10.jar:1.4.10]
at
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1486)
~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1466)
~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1445)
~[xstream-1.4.10.jar:1.4.10]
at
org.apache.camel.component.salesforce.internal.processor.XmlRestProcessor.processResponse(XmlRestProcessor.java:258)
~[camel-salesforce-2.20.2.jar:2.20.2]
... 28 common frames omitted
Caused by: java.time.format.DateTimeParseException: Text '2017-03-14' could not
be parsed at index 10
at
java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
~[na:1.8.0_152]
at
java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
~[na:1.8.0_152]
at
org.apache.camel.component.salesforce.api.utils.DateTimeUtils.parseDateTime(DateTimeUtils.java:46)
~[camel-salesforce-2.20.2.jar:2.20.2]
at
org.apache.camel.component.salesforce.api.utils.DateTimeConverter.unmarshal(DateTimeConverter.java:42)
~[camel-salesforce-2.20.2.jar:2.20.2]
... 42 common frames omitted
{code}
> Salesforce DTO does not use correct datatype for "date" and "time" field
> ------------------------------------------------------------------------
>
> Key: CAMEL-12334
> URL: https://issues.apache.org/jira/browse/CAMEL-12334
> Project: Camel
> Issue Type: Improvement
> Components: camel-salesforce
> Affects Versions: 2.20.2
> Reporter: Hemang Ajmera
> Priority: Major
> Labels: maven
>
> The DTO classes generated by the Maven plugin uses ZonedDateTime for all three
> * datetime
> * date
> * time
> The generation works fine, but is is not able to marshal/unmarshal correctly.
> The DTO should use different kind of field. My suggestion is to use
> * ZonedDateTime for datetime
> * LocalDate for date
> * LocalTime for time
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)