[
https://issues.apache.org/jira/browse/IGNITE-12823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116157#comment-17116157
]
Nikolai Kulagin edited comment on IGNITE-12823 at 5/25/20, 5:41 PM:
--------------------------------------------------------------------
[~ptupitsyn], Yes, your decision is better. Unfortunately, I did not think of
this. But I came up with one crazy case (maybe he is not alone) in which your
decision needs to be fixed.
As I understand it, do you take a ticket to yourself?
{code:java}
Assert.AreEqual("PlatformComputeBinarizable2", prx.TestBinarizableArray(new[]
{10, 11, 12}.Select(x => new PlatformComputeBinarizable2 {Field =
x}).ToArray()));
....
public string TestBinarizableArray(object[] x)
{
if (x.GetType() == typeof(PlatformComputeBinarizable[]))
return "PlatformComputeBinarizable";
if (x.GetType() == typeof(PlatformComputeBinarizable2[]))
return "PlatformComputeBinarizable2";
return "object";
}
...
Expected string length 27 but was 6. Strings differ at index 0.
Expected: "PlatformComputeBinarizable2"
But was: "object"
{code}
was (Author: zzzadruga):
[~ptupitsyn], Yes, your decision is better. Unfortunately, I did not think of
this. But I came up with one crazy case (maybe he is not alone) in which your
decision needs to be finalized.
As I understand it, do you take a ticket to yourself?
{code:java}
Assert.AreEqual("PlatformComputeBinarizable2", prx.TestBinarizableArray(new[]
{10, 11, 12}.Select(x => new PlatformComputeBinarizable2 {Field =
x}).ToArray()));
....
public string TestBinarizableArray(object[] x)
{
if (x.GetType() == typeof(PlatformComputeBinarizable[]))
return "PlatformComputeBinarizable";
if (x.GetType() == typeof(PlatformComputeBinarizable2[]))
return "PlatformComputeBinarizable2";
return "object";
}
...
Expected string length 27 but was 6. Strings differ at index 0.
Expected: "PlatformComputeBinarizable2"
But was: "object"
{code}
> .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)