protected DataReader getDataReader(Message message, Class<?> input) {
Service service = ServiceModelUtil.getService(message.getExchange());
DataReaderFactory factory = service.getDataBinding().getDataReaderFactory();
setSchemaInMessage(service, message);
DataReader dataReader = null;
for (Class<?> cls : factory.getSupportedFormats()) {
if (cls == input) {
dataReader = factory.createReader(input);
break;
}