code: public void handleMessage(T message) throws Fault {
          String flowId = FlowIdHelper.getFlowId(message);
  
          if (flowId == null) {
              flowId = FlowIdProtocolHeaderCodec.readFlowId(message);
          }
  
          if (flowId == null) {
              flowId = FlowIdSoapCodec.readFlowId(message);
          }
  
          if (flowId == null) {
               Exchange ex = message.getExchange();
          if (null!=ex){
          Message reqMsg = ex.getOutMessage();
               if ( null != reqMsg) {
                   flowId = FlowIdHelper.getFlowId(reqMsg);
                   if ( null != flowId) {
                   LOG.fine("Using FlowId '" + flowId + "' from exchange."); 
                   }
               }
          }
          }
  
          if (flowId != null) {
              LOG.fine("FlowId '" + flowId + "' found in incoming message.");
          } else {
              flowId = ContextUtils.generateUUID();
              LOG.fine("No flowId found in incoming message! Generate new flowId " + flowId);
          }
  
          FlowIdHelper.setFlowId(message, flowId);
      }
docs: /* (non-Javadoc)
  @see org.apache.cxf.interceptor.Interceptor#handleMessage(org.apache.cxf.message.Message)