@InvokeOnHeader(Web3jConstants.WEB3_CLIENT_VERSION)
    void web3ClientVersion(Message message) throws IOException {
        Request<?, Web3ClientVersion> web3ClientVersionRequest = web3j.web3ClientVersion();
        setRequestId(message, web3ClientVersionRequest);
        Web3ClientVersion response = web3ClientVersionRequest.send();
        boolean hasError = checkForError(message, response);
        if (!hasError) {
            message.setBody(response.getWeb3ClientVersion());
        }
    }
@Test
    public void clientVersionTest() throws Exception {
        Web3ClientVersion response = Mockito.mock(Web3ClientVersion.class);
        Mockito.when(mockWeb3j.web3ClientVersion()).thenReturn(request);
        Mockito.when(request.send()).thenReturn(response);
        Mockito.when(response.getWeb3ClientVersion()).thenReturn("Geth-123");

        Exchange exchange = createExchangeWithBodyAndHeader(null, OPERATION, Web3jConstants.WEB3_CLIENT_VERSION);
        template.send(exchange);
        String body = exchange.getIn().getBody(String.class);
        assertTrue(body.startsWith("Geth"));
    }