Я прочитал много статей и сайтов и не нашел ответа.Но, выполнив поиск по коду, я нашел причину и нашел решение.Я действительно не знаю, насколько он эффективен.
В примере, который я написал в своем вопросе, использовалась старая версия регистратора (с пометкой).В новой версии org.apache.cxf.ext.logging.LoggingInInterceptor
метод transform
не существует
Это решение с новым регистратором:
import org.apache.cxf.ext.logging.LoggingInInterceptor;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Message;
import java.util.List;
import java.util.TreeMap;
public class UnpLoggingInInterceptor extends LoggingInInterceptor {
private static final String GET_RESPONSE = "urn:GetResponse";
@Override
public void handleMessage(Message message) throws Fault {
TreeMap<String, List> headers = (TreeMap<String, List>) message.get("org.apache.cxf.message.Message.PROTOCOL_HEADERS");
if (headers != null) {
List value = headers.get("SOAPAction");
String soapAction = value != null ? (String) value.get(0) : "";
if (soapAction.replace("\"", "").equalsIgnoreCase(GET_RESPONSE)) {
isLoggingDisabledNow(message);
return;
}
}
super.handleMessage(message);
}
}