ptupitsyn commented on a change in pull request #7844:
URL: https://github.com/apache/ignite/pull/7844#discussion_r432115429
##########
File path:
modules/core/src/main/java/org/apache/ignite/internal/processors/platform/services/PlatformServices.java
##########
@@ -581,6 +582,26 @@ public Object invoke(String mthdName, boolean
srvKeepBinary, Object[] args)
Method mtd = getMethod(serviceClass, mthdName, args);
+ // Convert Object[] to T[] when required:
+ // Ignite loses array item types when passing arguments
through GridServiceProxy.
+ for (int i = 0; i < args.length; i++) {
Review comment:
`Array.newInstance` is called only when array type does not match.
`keepBinary` mode requires the same treatment as normal mode - service may take
`BinaryObject[]`, so array conversion is necessary. I've added tests for both
.NET->.NET and .NET->Java calls to demonstrate this.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]