protected String getAction(WSDLOperation operation, boolean inComming) {
   if (inComming) {
     return operation.getInput().getAction();
   } else {
     return operation.getOutput().getAction();
   }
 }
  protected MessagePolicy getOutgoingFaultPolicy(Packet packet) {
    WSDLBoundOperation cachedOp = cachedOperation(packet);

    if (cachedOp != null) {
      WSDLOperation wsdlOperation = cachedOp.getOperation();
      QName faultDetail = packet.getMessage().getFirstDetailEntryName();
      WSDLFault fault = null;
      if (faultDetail != null) {
        fault = wsdlOperation.getFault(faultDetail);
      }
      SecurityPolicyHolder sph = outMessagePolicyMap.get(cachedOp);
      if (fault == null) {
        MessagePolicy faultPolicy1 = (sph != null) ? (sph.getMessagePolicy()) : new MessagePolicy();
        return faultPolicy1;
      }
      SecurityPolicyHolder faultPolicyHolder = sph.getFaultPolicy(fault);
      MessagePolicy faultPolicy =
          (faultPolicyHolder == null) ? new MessagePolicy() : faultPolicyHolder.getMessagePolicy();
      return faultPolicy;
    }
    return null;
  }