Use the BatchDataRequest class to perform multiple data requests in a single call. You will have to define your own batch data response class to consume the response, which will contain either multiple counts or multiple data responses or any combintation of those.
This example performs both a count and a browse type data request in one batch data request call.
BatchDataRequest batchF0150Request = new BatchDataRequest(loginEnv);
loginEnv.getUsedCapabilities().add(AISClientCapability.DATA_SERVICE);
DataRequest childrenCount = new DataRequest(loginEnv);
childrenCount.setDataServiceType(DataRequest.TYPE_COUNT);
childrenCount.setTargetName("V0101XPI");
childrenCount.setTargetType(DataRequest.TARGET_VIEW);
Query childrenQ = new Query(loginEnv);
childrenQ.setAutoFind(true);
childrenQ.setMatchType(Query.MATCH_ALL);
childrenQ.addStringCondition("F0150.OSTP", StringOperator.EQUAL(), "ES");
childrenQ.addStringCondition("F0150.PA8", StringOperator.EQUAL(), "7500");
childrenCount.setQuery(childrenQ);
batchF0150Request.getDataRequests().add(childrenCount);
DataRequest childrenRecs = new DataRequest(loginEnv);
childrenRecs.setDataServiceType(DataRequest.TYPE_BROWSE);
childrenRecs.setTargetName("V0101XPI");
childrenRecs.setTargetType(DataRequest.TARGET_VIEW);
childrenRecs.setReturnControlIDs("F0150.OSTP|F0150.PA8|F0101.ALPH");
childrenRecs.setQuery(childrenQ);
batchF0150Request.getDataRequests().add(childrenRecs);
String response = JDERestServiceProvider.jdeRestServiceCall(loginEnv, batchF0150Request, JDERestServiceProvider.POST_METHOD, JDERestServiceProvider.DATA_SERVICE_URI);
OrgDataResponse orgData = loginEnv.getObjectMapper().readValue(response, OrgDataResponse.class);