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

Pavel Tupitsyn edited comment on IGNITE-12823 at 5/25/20, 8:37 PM:
-------------------------------------------------------------------

[~zzzadruga] regarding the code snippet - yes, that is the limitation of Ignite 
binary serializer. We have array element type id encoded as part of the array, 
but this information is lost when deserializing in binary mode and back. 

The fix from you and Alexey is closer to a proper solution, but it is still a 
workaround for a specific case. Ideally we should allow reading arrays as 
BinaryObject, so that type information is preserved. But this would be hard to 
do while maintaining compatibility.


was (Author: ptupitsyn):
[~zzzadruga] please explain the code snippet - does some test fail for you?

> .NET: Service method with user type array parameter can't be found
> ------------------------------------------------------------------
>
>                 Key: IGNITE-12823
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12823
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>            Reporter: Alexey Kukushkin
>            Assignee: Nikolai Kulagin
>            Priority: Major
>              Labels: .NET, sbcf
>         Attachments: ignite-12823-vs-2.8.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> *+Setup+*
>  * Ignite Java service with a method having an array of user types as a 
> parameters, for example, caclulate(Parameter[] params)
> *+Actions+*
>  * .NET client calls the Ignite Java service, for example, 
> ignite.GetServices().GetServiceProxy<ICalculator>().calculate(new[] \{new 
> Parameter()});
> *+Expected+*
>  * The service method is called
> *+Actual+*
>  * Exception "Could not find proxy method 'calculate' in class ICalculator"
> *+Workaround+*
>  * Replace array of user types with array of objects in the service methods 
> signatures, for example, caclulate(Object[] params)



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

Reply via email to