I'm developing a Java web service that will be consumed by .Net clients. The service exposes a method that accepts an object as an argument, this object has a field of type List, the Row class also has a field of type List.
Now when as Java client consumes this service it correctly sees the types as List however when a .Net client consumes the service I end up with the call expecting an array of arrays of type Value (e.g. Value[][]) instead of List.
The version compatibility has been set to ".Net 3.5/METRO 1.3".
Does anyone know how I can get this to work the same with .Net and Java clients in that they accept List instead of Value[][]?
Cut down versions of the web service are:
Service:
@WebService(serviceName = "Test")
public class Test {
@WebMethod(operationName = "DataRequest")
public DataResponse DataRequest(DataRequest req) {
return new DataResponse();
}
}
DataRequest:
public class DataRequest {
public DataType datType;
public String source;
public List<RowInfo> rows;
public String loginId;
}
RowInfo:
public class RowInfo {
public List<Value> valueList;
}
Value:
public class Value {
public String name;
public String value;
}
On my .Net client when I try and build the request object it sees the rows field of FeeDataRequest as Value[][] instead of List.
The service reference in .Net has been configured so that the collection type is System.Collections.Generic.List.
Any idea on how to make .Net sees this correctly?