@InvokeOnHeader(Web3jConstants.DB_PUT_STRING)
    void dbPutString(Message message) throws IOException {
        String databaseName = message.getHeader(Web3jConstants.DATABASE_NAME, configuration::getDatabaseName, String.class);
        String keyName = message.getHeader(Web3jConstants.KEY_NAME, configuration::getKeyName, String.class);
        Request<?, DbPutString> request = web3j.dbPutString(databaseName, keyName, message.getBody(String.class));
        setRequestId(message, request);
        DbPutString response = request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.valueStored());
        }
    }
@Test
    public void dbPutStringTest() throws Exception {
        DbPutString response = Mockito.mock(DbPutString.class);
        Mockito.when(mockWeb3j.dbPutString(any(), any(), any())).thenReturn(request);
        Mockito.when(request.send()).thenReturn(response);
        Mockito.when(response.valueStored()).thenReturn(Boolean.TRUE);

        Exchange exchange = createExchangeWithBodyAndHeader(null, OPERATION, Web3jConstants.DB_PUT_STRING);
        template.send(exchange);
        Boolean body = exchange.getIn().getBody(Boolean.class);
        assertTrue(body);
    }