有没有办法从org.apache.cxf.binding.soap.SoapMessage
的实例中获取soap动作?
我正在编写一个Interceptor,它会将传入和传出的消息记录到我的CXF服务中,作为其中的一部分,包含所请求的特定soap动作会很有用。我已经能够使用message.getHeader(name)
从Soap标头中获取有用信息,只需要Soap操作即可完成日志。
由于
答案 0 :(得分:2)
我不完全确定soap操作的存储位置,但我能够使用类似的内容提取有关请求的信息:
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();
//...
}
}