public void AfterReceiveReply(ref System.ServiceModel.Channels.Message reply, object correlationState) { // Read reply string responseXml = reply.ToString(); // Contruct an XML document (Assumes response was well-formatted) XmlDocument doc = new XmlDocument(); doc.LoadXml(responseXml); // Construct namespace manager for expected output XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("env", "http://schemas.xmlsoap.org/soap/envelope/"); nsmgr.AddNamespace("pkif", "http://danskebank.dk/PKI/PKIFactoryService"); // Search for a fault node XmlNode faultNode = doc.SelectSingleNode("/env:Envelope/env:Body/pkif:PKIFactoryServiceFault", nsmgr); if (faultNode != null) { // A fault node was found in body => throw an exception PKIFactoryServiceFaultDetailType faultDetails = ConvertNode <PKIFactoryServiceFaultDetailType>(faultNode); throw new PKIFactoryFaultException(faultDetails); } }
public WrappedResponse(PKIFactoryServiceFaultDetailType error) : this(null, error) { }
private WrappedResponse(T model, PKIFactoryServiceFaultDetailType error) { Response = model; Error = error; }
public PKIFactoryFaultException(PKIFactoryServiceFaultDetailType faultDetails) { Details = faultDetails; }