엔드 포인트로 보내기 전에 SOAP 메시지의 내용을 수정하는 웹 서비스에 대한 인터셉터를 작성하려고합니다. 클라이언트가 일부 요소의 값이 1 인 메시지를 보낸 경우 해당 요소를 2로 변경하여 메시지가 끝점에 도착하면 클라이언트가 대신 2를 제출 한 것처럼 보입니다. 1.이 일이 나를 어렵게 만드는 어려운 일인지, 아니면 내가 필요로하는 것보다 더 힘들게 만들고있는 쉬운 일인지 확실하지 않습니다.Spring Soap 인터셉터는 어떻게 메시지 내용을 수정할 수 있습니까?
나는 스프링 인터셉터 중 일부를 밟았습니다. 유효성 검사 및 로깅 인터셉터가 모든 메시지를 변경하지는 않습니다. Wss4jSecurityInterceptor는 MessageContext에 몇 가지 속성을 추가합니다. 그러나 나는 그것이하고있는 어떤 것도 활용할 수 없었습니다. 나는 인터셉터 쉘을 가지고있다. 어떤 것도 가치있는 일은 아무것도 없습니다.
public boolean handleRequest(MessageContext messageContext, Object endpoint)
throws Exception {
SaajSoapMessage saajSoapMessage = (SaajSoapMessage) messageContext
.getRequest();
SOAPMessage soapMessage = saajSoapMessage.getSaajMessage();
SOAPBody soapBody = soapMessage.getSOAPBody();
return true;
}
다른 사람이 이미이 특정 문제를 해결할 가능성이 있기를 바랬습니다. 모든 통찰력은 인정 될 것이다. 감사.
감사합니다. 당신 말이 맞아요. 희망만큼이나 진지한 것은 아닙니다. 나는 실제로 다른 방식으로 나의 문제를 해결했다. 그것은 내 원래의 문제를 직접적으로 다루지는 않지만, 현재의 문제를 해결했습니다. – Dave