For better performance, I'm trying to request specific fields using a batch request. For example, I want to get only the BID and ASK fields from the EUR= and GBP= requests. I'm using this code:
ElementList customView = EmaFactory.createElementList();
OmmArray fields_array = EmaFactory.createOmmArray();
OmmArray batch_array = EmaFactory.createOmmArray();
fields_array.fixedWidth(2);
fields_array.add(EmaFactory.createOmmArrayEntry().intValue(22)); // BID
fields_array.add(EmaFactory.createOmmArrayEntry().intValue(25)); // ASK
batch_array.add(EmaFactory.createOmmArrayEntry().ascii('EUR='));
batch_array.add(EmaFactory.createOmmArrayEntry().ascii('GBP='));
customView.add(EmaFactory.createElementEntry().uintValue(EmaRdm.ENAME_VIEW_TYPE, 1));
customView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_VIEW_DATA, fields_array));
customView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_BATCH_ITEM_LIST, batch_array));
this.consumer.registerClient(EmaFactory.createReqMsg().serviceName(serviceName).payload(customView), this.appClient);
I'm having this Exception:
Exception Type='OmmInvalidUsageException', Text='Failed to open or modify item request. Reason: ReactorReturnCodes.FAILURE. Error text: Unexpected primitive type in array <17>'