Извлечь информацию из org.apache.cxf.binding.soap.SoapMessage - PullRequest
1 голос
/ 28 февраля 2011

Есть ли способ получить действие мыла из экземпляра org.apache.cxf.binding.soap.SoapMessage?

Я пишу Interceptor, который будет регистрировать входящие и исходящие сообщения в / из моей службы CXF, и как часть этого было бы полезно включить конкретное запрашиваемое действие мыла. Я смог извлечь полезную информацию из заголовка Soap, используя message.getHeader(name), и мне просто нужно действие Soap для завершения журнала.

Спасибо

1 Ответ

2 голосов
/ 28 февраля 2011

Я не совсем уверен, где хранится действие мыла, но я смог извлечь информацию о запросе, используя что-то похожее на это:

public class LoggingInterceptor extends AbstractPhaseInterceptor<Message>
{
   //...//
    public void handleMessage(Message message) throws Fault
    {
       Message inMessage = message.getExchange().getInMessage();
       MessageInfo mi = (MessageInfo) inMessage.get("org.apache.cxf.service.model.MessageInfo");
       String methodName = mi.getOperation().getInputName();
       //...
    }
}
...