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>'