Como um interceptor Spring Soap pode modificar o conteúdo de uma mensagem?

Estou tentando escrever um interceptador para um serviço da web que modificará o conteúdo da mensagem do Soap antes de ser enviada para o terminal. Se um cliente enviou uma mensagem em que o valor de algum elemento é 1, desejo poder alterá-lo para 2, para que, quando a mensagem chegar ao ponto de extremidade, pareça que o cliente enviou um 2 em vez de um 1. Não tenho certeza se esta é uma tarefa difícil que está me iludindo, ou uma tarefa fácil que estou tornando mais difícil do que precisa ser.

Eu passei por alguns dos interceptadores da primavera; mas os interceptadores de validação e registro nem sempre alteram a mensagem que está em trânsito. O Wss4jSecurityInterceptor adiciona algumas propriedades ao MessageContext; mas não consegui alavancar nada do que está fazendo. Eu tenho uma concha de interceptador; mas nada que esteja fazendo algo de qualquer valor.

public boolean handleRequest(MessageContext messageContext, Object endpoint)
        throws Exception {

    SaajSoapMessage saajSoapMessage = (SaajSoapMessage) messageContext
            .getRequest();
    SOAPMessage soapMessage = saajSoapMessage.getSaajMessage();
    SOAPBody soapBody = soapMessage.getSOAPBody();

    return true;
}

Eu esperava que houvesse uma chance de que mais alguém já tivesse resolvido esse problema em particular. Qualquer insight seria apreciado. Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion