@InvokeOnHeader(Web3jConstants.WEB3_SHA3)
    void web3Sha3(Message message) throws IOException {
        Request<?, Web3Sha3> web3Sha3Request = web3j.web3Sha3(message.getBody(String.class));
        setRequestId(message, web3Sha3Request);
        Web3Sha3 response = web3Sha3Request.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getResult());
        }
    }
@Test
    public void web3Sha3Test() throws Exception {
        Web3Sha3 response = Mockito.mock(Web3Sha3.class);
        Mockito.when(mockWeb3j.web3Sha3(any())).thenReturn(request);
        Mockito.when(request.send()).thenReturn(response);
        Mockito.when(response.getResult()).thenReturn("0x471");

        Exchange exchange = createExchangeWithBodyAndHeader(null, OPERATION, Web3jConstants.WEB3_SHA3);
        exchange.getIn().setBody("0x68");
        template.send(exchange);
        String body = exchange.getIn().getBody(String.class);
        assertEquals("0x471", body);
    }