コード例 #1
0
        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);
            }
        }
コード例 #2
0
 public WrappedResponse(PKIFactoryServiceFaultDetailType error)
     : this(null, error)
 {
 }
コード例 #3
0
 private WrappedResponse(T model, PKIFactoryServiceFaultDetailType error)
 {
     Response = model;
     Error    = error;
 }
コード例 #4
0
 public PKIFactoryFaultException(PKIFactoryServiceFaultDetailType faultDetails)
 {
     Details = faultDetails;
 }