/** * Create a WsdlOpFault from the Fault. * * @param fault * Fault to process. * @return WsdlOpFault Result of processing. */ @SuppressWarnings( "unchecked" ) private WsdlOpFault getFault( Fault fault ) throws KettleStepException { Message m = fault.getMessage(); // a fault should only have one message part. Map<?, Part> partMap = m.getParts(); if ( partMap.size() != 1 ) { throw new IllegalArgumentException( "Invalid part count for fault!!" ); } Part faultPart = partMap.values().iterator().next(); boolean complexType = false; // type of fault is specified either in Part's type or element attribute. QName type = faultPart.getTypeName(); if ( type == null ) { type = faultPart.getElementName(); Element schemaElement = _wsdlTypes.findNamedElement( type ); type = _wsdlTypes.getTypeQName( schemaElement.getAttribute( "type" ) ); complexType = true; } return new WsdlOpFault( fault.getName(), type, complexType, _wsdlTypes ); } }
Message message = fault.getMessage();
@SuppressWarnings("unchecked") private List<DataType> getFaultTypes(Map faults, XmlSchemaCollection collection, PortType portType, IntrospectionContext context) { List<DataType> types = new LinkedList<>(); for (Fault fault : (Collection<Fault>) faults.values()) { Part part = (Part) fault.getMessage().getOrderedParts(null).get(0); XSDType dataType = getDataType(part, collection, portType, context); if (dataType != null) { types.add(dataType); } } return types; }
private boolean isDifferent(Fault left, Fault right) { if (left != null && right == null) { return true; } else if (right != null && left == null) { } else { if (left.getName() != null && right.getName() != null && !left.getName().equals(right.getName())) { return true; } if (left.getMessage() != null && right.getMessage() != null && WSDLComparisonUtils.isDiffrentMessages(left.getMessage(), right.getMessage())) { return true; } } return false; }
/** * Called after the {@link javax.wsdl.Fault} has been created, but it's added to the operation. Subclasses can * override this method to define the fault name. * * <p>Default implementation sets the fault name to the message name. * * @param definition the WSDL4J {@code Definition} * @param fault the WSDL4J {@code Fault} */ protected void populateFault(Definition definition, Fault fault) { fault.setName(fault.getMessage().getQName().getLocalPart()); }
public Fault toFaultType(javax.jbi.messaging.Fault jbiFlt, Collection<Fault> faults) throws MessageTranslationException { Element el = parse(jbiFlt.getContent()); QName elQname = new QName(el.getNamespaceURI(),el.getLocalName()); for (Fault f : faults) { if (f.getMessage() == null || f.getMessage().getParts().size() != 1) continue; javax.wsdl.Part pdef = (Part) f.getMessage().getParts().values().iterator().next(); if (pdef.getElementName() == null) continue; if (pdef.getElementName().equals(elQname)) return f; } return null; }
private static List<Part> getFaultParts(final Operation operation, final String faultName) { final Fault output = operation.getFault(faultName); if (output != null) { return AxisWSImpl.getMessageParts(output.getMessage()); } return new ArrayList<Part>(); }
@SuppressWarnings("unchecked") private List<DataType> getFaultTypes(Map faults, XmlSchemaCollection xmlSchema) { List<DataType> types = new LinkedList<DataType>(); for(Fault fault : (Collection<Fault>) faults.values()) { Part part = (Part) fault.getMessage().getOrderedParts(null).get(0); DataType dataType = getDataType(part.getElementName(), xmlSchema); if(dataType != null) { types.add(dataType); } } return types; }
/** * Called after the {@link javax.wsdl.Fault} has been created, but it's added to the operation. Subclasses can * override this method to define the fault name. * * <p>Default implementation sets the fault name to the message name. * * @param definition the WSDL4J {@code Definition} * @param fault the WSDL4J {@code Fault} */ protected void populateFault(Definition definition, Fault fault) { fault.setName(fault.getMessage().getQName().getLocalPart()); }
/** * Called after the {@link javax.wsdl.Fault} has been created, but it's added to the operation. Subclasses can * override this method to define the fault name. * * <p>Default implementation sets the fault name to the message name. * * @param definition the WSDL4J {@code Definition} * @param fault the WSDL4J {@code Fault} */ protected void populateFault(Definition definition, Fault fault) { fault.setName(fault.getMessage().getQName().getLocalPart()); }
/** * Called after the {@link javax.wsdl.Fault} has been created, but it's added to the operation. Subclasses can * override this method to define the fault name. * <p/> * Default implementation sets the fault name to the message name. * * @param definition the WSDL4J <code>Definition</code> * @param fault the WSDL4J <code>Fault</code> */ protected void populateFault(Definition definition, Fault fault) { fault.setName(fault.getMessage().getQName().getLocalPart()); }
/** * Get the fault QName. * * @param operation The WSDL operation. * @param faultName the name of the Fault * @return the fault QName or null. */ public static QName getFaultQName(final Operation operation, final String faultName) { Fault fault = operation.getFault(faultName); QName qName = null; if (fault != null) { qName = fault.getMessage().getQName(); } return qName; }
/** * Get the fault QName. * * @param operation The WSDL operation. * @param faultName the name of the Fault * @return the fault QName or null. */ public static QName getFaultQName(final Operation operation, final String faultName) { Fault fault = operation.getFault(faultName); QName qName = null; if (fault != null) { qName = fault.getMessage().getQName(); } return qName; }
public static Fault parseSoapFault(Element odeMsgEl, SOAPEnvelope envelope, Operation operation) throws AxisFault { SOAPFault flt = envelope.getBody().getFault(); SOAPFaultDetail detail = flt.getDetail(); Fault fdef = inferFault(operation, flt); if (fdef == null) { return null; } Part pdef = (Part) fdef.getMessage().getParts().values().iterator().next(); Element partel = odeMsgEl.getOwnerDocument().createElementNS(null, pdef.getName()); odeMsgEl.appendChild(partel); if (detail.getFirstChildWithName(pdef.getElementName()) != null) { partel.appendChild(odeMsgEl.getOwnerDocument().importNode( OMUtils.toDOM(detail.getFirstChildWithName(pdef.getElementName())), true)); } else { partel.appendChild(odeMsgEl.getOwnerDocument().importNode(OMUtils.toDOM(detail), true)); } return fdef; }
public void visit(SOAPFault fault, Object parent, WSDLTraversalContext ctx) { String faultName = fault.getName(); if (faultName == null) faultName = ctx.getBindingFault().getName(); Operation op = ctx.getBindingOperation().getOperation(); if (op == null) return; // we suppose that SOAPFault.getName() corresponds to the abstract operation's fault name Fault f = op.getFault(faultName); // fault message should have 1 part if (f == null || f.getMessage() == null || f.getMessage().getParts().size() != 1) return; Part p = (Part) f.getMessage().getOrderedParts(null).get(0); removePart(f.getMessage().getQName(), p.getName()); }
protected void visit(Fault fault) { FaultInfo faultInfo = opInfo.addFault(fault.getName()); faultInfo.setMessageName(fault.getMessage().getQName()); if(fault.getDocumentationElement()!= null ){ faultInfo.setDocumentation(fault.getDocumentationElement().getNodeValue());//TextContent()); } wfault2msg.put(fault, faultInfo); createMessageParts(faultInfo, fault.getMessage()); }
protected void visit(final Fault fault) { final Part message = fault.getMessage().getPart("message"); if (message == null) { context.addFailure(new ValidationFailure("The fault message must contain one part named 'message' : " + fault.getName())); } else if (!XSD_STRING.equals(message.getTypeName())) { context.addFailure(new ValidationFailure("The fault message must contain one part of type 'xsd:string' : " + fault.getName())); } }
protected void visit(Fault fault) { Part message = fault.getMessage().getPart("message"); if (message == null) { context.addFailure(new ValidationFailure("The fault message must contain one part named 'message' : " + fault.getName())); } else if (!XSD_STRING.equals(message.getTypeName())) { context.addFailure(new ValidationFailure("The fault message must contain one part of type 'xsd:string' : " + fault.getName())); } }
protected void visit(Fault fault) { Part message = fault.getMessage().getPart("message"); if (message == null) { context.addFailure(new ValidationFailure("The fault message must contain one part named 'message' : " + fault.getName())); } else if (!XSD_STRING.equals(message.getTypeName())) { context.addFailure(new ValidationFailure("The fault message must contain one part of type 'xsd:string' : " + fault.getName())); } }
protected void visit(Fault fault) { Part message = fault.getMessage().getPart("message"); if (message == null) { context.addFailure(new ValidationFailure("The fault message must contain one part named 'message' : " + fault.getName())); } else if (!XSD_STRING.equals(message.getTypeName())) { context.addFailure(new ValidationFailure("The fault message must contain one part of type 'xsd:string' : " + fault.getName())); } }