[ 
https://issues.apache.org/jira/browse/IGNITE-12859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17074551#comment-17074551
 ] 

Pavel Tupitsyn commented on IGNITE-12859:
-----------------------------------------

[~nizhikov] yes, I think we should. I looked into the code, and the fix seems 
to be simple. Update `ServiceProxySerializer.GetPlatformArgWriter` method with 
the following:
{code}
if (arg is DateTime)
    return (writer, o) => writer.WriteTimestamp((DateTime) arg);
{code}

Java service calls require special treatment of arguments. We do that for other 
types in GetPlatformArgWriter already.

It makes sense to pass .NET -> .NET service args as DateTime object (works 
already), but for Java service we can only use `WriteTimestamp`, which requires 
UTC value, and will throw otherwise. And this only affects Services,  normal 
binary object handling remains as is.

> .NET: Services fail to call method with DateTime or Guid argument
> -----------------------------------------------------------------
>
>                 Key: IGNITE-12859
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12859
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>    Affects Versions: 2.8
>            Reporter: Nikolay Izhikov
>            Assignee: Nikolay Izhikov
>            Priority: Blocker
>              Labels: .NET, .net
>             Fix For: 2.8.1
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> .Net service proxy can't find java method with Timestamp or UUID datatype.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to