我正在开发一个将由.Net客户端使用的Java Web服务.该服务公开了一个接受一个对象作为参数的方法,该对象有一个List类型的字段,Row类也有一个List类型的字段.
现在,当Java客户端使用此服务时,它正确地将类型视为List,但是当.Net客户端使用该服务时,我最终会调用期望数组类型为Value的数组(例如Value [] [])而不是List.
版本兼容性已设置为".Net 3.5/METRO 1.3".
有谁知道如何让它与.Net和Java客户端一样工作,因为它们接受List而不是Value [] []?
减少Web服务的版本是:
服务:
@WebService(serviceName = "Test")
public class Test {
@WebMethod(operationName = "DataRequest")
public DataResponse DataRequest(DataRequest req) {
return new DataResponse();
}
}
Run Code Online (Sandbox Code Playgroud)
DataRequest:
public class DataRequest {
public DataType datType;
public String source;
public List<RowInfo> rows;
public String loginId;
}
Run Code Online (Sandbox Code Playgroud)
RowInfo:
public class RowInfo {
public List<Value> valueList;
}
Run Code Online (Sandbox Code Playgroud)
值:
public class Value {
public String name;
public String value;
}
Run Code Online (Sandbox Code Playgroud)
在我的.Net客户端上,当我尝试构建请求对象时,它将FeeDataRequest的rows字段视为Value [] []而不是List.
已配置.Net中的服务引用,以便集合类型为System.Collections.Generic.List.
关于如何使.Net正确看到这一点的想法?