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); }
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); } }
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()); }