private void validateFaultDetail(Element detail, Schema schema, BindingOperationInfo bop) throws Exception { if (detail != null) { Element el = DOMUtils.getFirstElement(detail); while (el != null) { QName qn = DOMUtils.getElementQName(el); for (BindingFaultInfo bfi : bop.getFaults()) { if (bfi.getFaultInfo().getMessagePartByIndex(0).getConcreteName().equals(qn)) { //Found a fault with the correct QName, we can validate it schema.newValidator().validate(new DOMSource(DOMUtils.getDomElement(el))); } } el = DOMUtils.getNextElement(el); } } } private void validateFault(SoapMessage message, SOAPFault fault, BindingOperationInfo bop) {
for (BindingFaultInfo fi : boi.getFaults()) { Class<?> c = fi.getFaultInfo().getProperty(Class.class.getName(), Class.class); if (c != null && c.isInstance(ex)) {
BindingMessageInfo inputInfo = operationInfo.getInput(); BindingMessageInfo outputnfo = operationInfo.getOutput(); Collection<BindingFaultInfo> faults = operationInfo.getFaults();
@Override public FaultInfo getFaultForClass(BindingOperationInfo op, Class class1) { for (BindingFaultInfo bfi : op.getFaults()) { FaultInfo faultInfo = bfi.getFaultInfo(); Class<?> c = (Class)faultInfo.getProperty(Class.class.getName()); if (c != null && c.isAssignableFrom(class1)) { return faultInfo; } } return null; }
/** * Find the correct Fault part for a particular exception. * * @param op * @param class1 */ public FaultInfo getFaultForClass(BindingOperationInfo op, Class<?> class1) { FaultInfo selectedFaultInfo = null; Class<?> selectedFaultInfoClass = null; for (BindingFaultInfo bfi : op.getFaults()) { FaultInfo faultInfo = bfi.getFaultInfo(); Class<?> c = (Class<?>)faultInfo.getProperty(Class.class.getName()); if (c != null && c.isAssignableFrom(class1) && (selectedFaultInfo == null || (selectedFaultInfoClass != null && selectedFaultInfoClass.isAssignableFrom(c)))) { selectedFaultInfo = faultInfo; selectedFaultInfoClass = c; } } return selectedFaultInfo; } }
/** * Find the correct Fault part for a particular exception. * * @param op * @param class1 */ public FaultInfo getFaultForClass(BindingOperationInfo op, Class<?> class1) { FaultInfo selectedFaultInfo = null; Class<?> selectedFaultInfoClass = null; for (BindingFaultInfo bfi : op.getFaults()) { FaultInfo faultInfo = bfi.getFaultInfo(); Class<?> c = (Class<?>)faultInfo.getProperty(Class.class.getName()); if (c != null && c.isAssignableFrom(class1) && (selectedFaultInfo == null || (selectedFaultInfoClass != null && selectedFaultInfoClass.isAssignableFrom(c)))) { selectedFaultInfo = faultInfo; selectedFaultInfoClass = c; } } return selectedFaultInfo; } }
/** * Find the correct Fault part for a particular exception. * * @param op * @param class1 */ public FaultInfo getFaultForClass(BindingOperationInfo op, Class<?> class1) { FaultInfo selectedFaultInfo = null; Class<?> selectedFaultInfoClass = null; for (BindingFaultInfo bfi : op.getFaults()) { FaultInfo faultInfo = bfi.getFaultInfo(); Class<?> c = (Class<?>)faultInfo.getProperty(Class.class.getName()); if (c != null && c.isAssignableFrom(class1) && (selectedFaultInfo == null || selectedFaultInfoClass.isAssignableFrom(c))) { selectedFaultInfo = faultInfo; selectedFaultInfoClass = c; } } return selectedFaultInfo; } }
/** * Find the correct Fault part for a particular exception. * * @param op * @param class1 */ public FaultInfo getFaultForClass(BindingOperationInfo op, Class<?> class1) { FaultInfo selectedFaultInfo = null; Class<?> selectedFaultInfoClass = null; for (BindingFaultInfo bfi : op.getFaults()) { FaultInfo faultInfo = bfi.getFaultInfo(); Class<?> c = (Class<?>)faultInfo.getProperty(Class.class.getName()); if (c != null && c.isAssignableFrom(class1) && (selectedFaultInfo == null || selectedFaultInfoClass.isAssignableFrom(c))) { selectedFaultInfo = faultInfo; selectedFaultInfoClass = c; } } return selectedFaultInfo; } }
private void validateFaultDetail(Element detail, Schema schema, BindingOperationInfo bop) throws Exception { if (detail != null) { Element el = DOMUtils.getFirstElement(detail); while (el != null) { QName qn = DOMUtils.getElementQName(el); for (BindingFaultInfo bfi : bop.getFaults()) { if (bfi.getFaultInfo().getMessagePartByIndex(0).getConcreteName().equals(qn)) { //Found a fault with the correct QName, we can validate it schema.newValidator().validate(new DOMSource(DOMUtils.getDomElement(el))); } } el = DOMUtils.getNextElement(el); } } } private void validateFault(SoapMessage message, SOAPFault fault, BindingOperationInfo bop) {
protected BindingFaultInfo getBindingFaultInfo(Message msg, Exception ex, BindingOperationInfo boi) { BindingFaultInfo bfi = msg.get(BindingFaultInfo.class); if (null == bfi && ex != null) { Throwable cause = ex.getCause(); if (null == cause) { return null; } for (BindingFaultInfo b : boi.getFaults()) { Class<?> faultClass = b.getFaultInfo().getProperty(Class.class.getName(), Class.class); if (faultClass != null && faultClass.isAssignableFrom(cause.getClass())) { bfi = b; msg.put(BindingFaultInfo.class, bfi); break; } } if (null == bfi && null != boi.getWrappedOperation()) { for (BindingFaultInfo b : boi.getWrappedOperation().getFaults()) { Class<?> faultClass = b.getFaultInfo().getProperty(Class.class.getName(), Class.class); if (faultClass != null && faultClass.isAssignableFrom(cause.getClass())) { bfi = b; msg.put(BindingFaultInfo.class, bfi); break; } } } } return bfi; }
protected BindingFaultInfo getBindingFaultInfo(Message msg, Exception ex, BindingOperationInfo boi) { BindingFaultInfo bfi = msg.get(BindingFaultInfo.class); if (null == bfi && ex != null) { Throwable cause = ex.getCause(); if (null == cause) { return null; } for (BindingFaultInfo b : boi.getFaults()) { Class<?> faultClass = b.getFaultInfo().getProperty(Class.class.getName(), Class.class); if (faultClass != null && faultClass.isAssignableFrom(cause.getClass())) { bfi = b; msg.put(BindingFaultInfo.class, bfi); break; } } if (null == bfi && null != boi.getWrappedOperation()) { for (BindingFaultInfo b : boi.getWrappedOperation().getFaults()) { Class<?> faultClass = b.getFaultInfo().getProperty(Class.class.getName(), Class.class); if (faultClass != null && faultClass.isAssignableFrom(cause.getClass())) { bfi = b; msg.put(BindingFaultInfo.class, bfi); break; } } } } return bfi; }
private BindingFaultInfo mapToWrappedBindingFaultInfo(BindingFaultInfo bfi) { BindingOperationInfo boi = bfi.getBindingOperation(); if (boi != null && boi.isUnwrapped()) { boi = boi.getWrappedOperation(); for (BindingFaultInfo bf2 : boi.getFaults()) { if (bf2.getFaultInfo().getName().equals(bfi.getFaultInfo().getName())) { return bf2; } } } return bfi; } public void setEffectiveServerFaultPolicy(EndpointInfo ei, BindingFaultInfo bfi, EffectivePolicy ep) {
private BindingFaultInfo mapToWrappedBindingFaultInfo(BindingFaultInfo bfi) { BindingOperationInfo boi = bfi.getBindingOperation(); if (boi != null && boi.isUnwrapped()) { boi = boi.getWrappedOperation(); for (BindingFaultInfo bf2 : boi.getFaults()) { if (bf2.getFaultInfo().getName().equals(bfi.getFaultInfo().getName())) { return bf2; } } } return bfi; } public void setEffectiveServerFaultPolicy(EndpointInfo ei, BindingFaultInfo bfi, EffectivePolicy ep) {
protected void processFaultDetail(Fault fault, Message msg) { if (fault.getDetail() == null) { return; } Element exDetail = (Element) DOMUtils.getChild(fault.getDetail(), Node.ELEMENT_NODE); if (exDetail == null) { return; } QName qname = new QName(exDetail.getNamespaceURI(), exDetail .getLocalName()); faultWanted = null; BindingOperationInfo boi = msg.getExchange().get( BindingOperationInfo.class); if (boi.isUnwrapped()) { boi = boi.getWrappedOperation(); } for (BindingFaultInfo bfi : boi.getFaults()) { for (MessagePartInfo mpi : bfi.getFaultInfo().getMessageParts()) { if (qname.equals(mpi.getConcreteName())) { faultWanted = bfi; msg.put(BindingFaultInfo.class, faultWanted); break; } } if (faultWanted != null) { break; } } }
protected void buildBindingOperation(Definition def, Binding binding, Collection<BindingOperationInfo> bindingOperationInfos) { BindingOperation bindingOperation = null; for (BindingOperationInfo bindingOperationInfo : bindingOperationInfos) { bindingOperation = def.createBindingOperation(); addDocumentation(bindingOperation, bindingOperationInfo.getDocumentation()); bindingOperation.setName(bindingOperationInfo.getName().getLocalPart()); for (Operation operation : CastUtils.cast(binding.getPortType().getOperations(), Operation.class)) { if (operation.getName().equals(bindingOperation.getName())) { bindingOperation.setOperation(operation); break; } } buildBindingInput(def, bindingOperation, bindingOperationInfo.getInput()); buildBindingOutput(def, bindingOperation, bindingOperationInfo.getOutput()); buildBindingFault(def, bindingOperation, bindingOperationInfo.getFaults()); addExtensibilityAttributes(def, bindingOperation, bindingOperationInfo.getExtensionAttributes()); addExtensibilityElements(def, bindingOperation, getWSDL11Extensors(bindingOperationInfo)); binding.addBindingOperation(bindingOperation); } }
protected void buildBindingOperation(Definition def, Binding binding, Collection<BindingOperationInfo> bindingOperationInfos) { BindingOperation bindingOperation = null; for (BindingOperationInfo bindingOperationInfo : bindingOperationInfos) { bindingOperation = def.createBindingOperation(); addDocumentation(bindingOperation, bindingOperationInfo.getDocumentation()); bindingOperation.setName(bindingOperationInfo.getName().getLocalPart()); for (Operation operation : CastUtils.cast(binding.getPortType().getOperations(), Operation.class)) { if (operation.getName().equals(bindingOperation.getName())) { bindingOperation.setOperation(operation); break; } } buildBindingInput(def, bindingOperation, bindingOperationInfo.getInput()); buildBindingOutput(def, bindingOperation, bindingOperationInfo.getOutput()); buildBindingFault(def, bindingOperation, bindingOperationInfo.getFaults()); addExtensibilityAttributes(def, bindingOperation, bindingOperationInfo.getExtensionAttributes()); addExtensibilityElements(def, bindingOperation, getWSDL11Extensors(bindingOperationInfo)); binding.addBindingOperation(bindingOperation); } }
protected void buildBindingOperation(Definition def, Binding binding, Collection<BindingOperationInfo> bindingOperationInfos) { BindingOperation bindingOperation = null; for (BindingOperationInfo bindingOperationInfo : bindingOperationInfos) { bindingOperation = def.createBindingOperation(); addDocumentation(bindingOperation, bindingOperationInfo.getDocumentation()); bindingOperation.setName(bindingOperationInfo.getName().getLocalPart()); for (Operation operation : CastUtils.cast(binding.getPortType().getOperations(), Operation.class)) { if (operation.getName().equals(bindingOperation.getName())) { bindingOperation.setOperation(operation); break; } } buildBindingInput(def, bindingOperation, bindingOperationInfo.getInput()); buildBindingOutput(def, bindingOperation, bindingOperationInfo.getOutput()); buildBindingFault(def, bindingOperation, bindingOperationInfo.getFaults()); addExtensibilityAttributes(def, bindingOperation, bindingOperationInfo.getExtensionAttributes()); addExtensibilityElements(def, bindingOperation, getWSDL11Extensors(bindingOperationInfo)); binding.addBindingOperation(bindingOperation); } }
break; case BINDING_OPERATION_FAULT: { for (BindingFaultInfo f : binfo.getFaults()) { if (doc.faultClass().equals(f.getFaultInfo() .getProperty(Class.class.getName()))) {
break; case BINDING_OPERATION_FAULT: { for (BindingFaultInfo f : binfo.getFaults()) { if (doc.faultClass().equals(f.getFaultInfo() .getProperty(Class.class.getName()))) {
break; case BINDING_OPERATION_FAULT: { for (BindingFaultInfo f : binfo.getFaults()) { if (doc.faultClass().equals(f.getFaultInfo() .getProperty(Class.class.getName()))) {