[ 
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)

Reply via email to