예제 #1
0
 private String getActionFromFaultMessage(final OperationInfo operation, final String faultName) {
   if (operation.getFaults() != null) {
     for (FaultInfo faultInfo : operation.getFaults()) {
       if (isSameFault(faultInfo, faultName)) {
         if (faultInfo.getExtensionAttributes() != null) {
           String faultAction = InternalContextUtils.getAction(faultInfo);
           if (!StringUtils.isEmpty(faultAction)) {
             return faultAction;
           }
         }
         return addPath(
             addPath(
                 addPath(getActionBaseUri(operation), operation.getName().getLocalPart()),
                 "Fault"),
             faultInfo.getFaultName().getLocalPart());
       }
     }
   }
   return addPath(
       addPath(addPath(getActionBaseUri(operation), operation.getName().getLocalPart()), "Fault"),
       faultName);
 }
예제 #2
0
  private void visitOperation(OperationInfo o) {
    MessageInfo in = o.getInput();
    if (in != null) {
      begin(in);

      for (MessagePartInfo part : in.getMessageParts()) {
        begin(part);
        end(part);
      }

      end(in);
    }

    MessageInfo out = o.getOutput();
    if (out != null) {
      begin(out);

      for (MessagePartInfo part : out.getMessageParts()) {
        begin(part);
        end(part);
      }

      end(out);
    }

    for (FaultInfo f : o.getFaults()) {
      begin(f);

      for (MessagePartInfo part : f.getMessageParts()) {
        begin(part);
        end(part);
      }

      end(f);
    }

    if (o.isUnwrappedCapable()) {
      OperationInfo uop = o.getUnwrappedOperation();
      begin(uop);
      visitOperation(o.getUnwrappedOperation());
      end(uop);
    }
  }
예제 #3
0
 public static boolean isSameOperationInfo(OperationInfo oi1, OperationInfo oi2) {
   return oi1.getName().equals(oi2.getName())
       && isSameMessageInfo(oi1.getInput(), oi2.getInput())
       && isSameMessageInfo(oi1.getOutput(), oi2.getOutput())
       && isSameFaultInfo(oi1.getFaults(), oi2.getFaults());
 }