Exemple #1
0
        /// <summary>
        /// Serialize a SealedDelivery object to a XmlDocument. using defaultnamespaceV2, that is a property from config file, add this to xmlserializer.
        /// </summary>
        public XmlDocument SerializeToXmlDocumentV3(SealedDelivery sealedDelivery, string defaultNameSpaceV3)
        {
            logger.LogTrace(string.Format("SE.GOV.MM.Integration.Signing.Helper.SerializeHelper: incoming SerializeToXmlDocumentV3"));

            var xmlDocument = new XmlDocument();

            xmlDocument.PreserveWhitespace = false;

            var xmlSerializerNameSpace = new XmlSerializerNamespaces();

            xmlSerializerNameSpace.Add("", defaultNameSpaceV3);

            using (var memoryStream = new MemoryStream())
            {
                var xmlWriterSettings = new XmlWriterSettings();
                xmlWriterSettings.OmitXmlDeclaration = true;
                xmlWriterSettings.Encoding           = Encoding.UTF8;

                using (var xmlWriter = XmlWriter.Create(memoryStream, xmlWriterSettings))
                {
                    var xmlSerializer = new XmlSerializer(typeof(SealedDelivery), defaultNameSpaceV3);
                    xmlSerializer.Serialize(xmlWriter, sealedDelivery, xmlSerializerNameSpace);
                }

                memoryStream.Position = 0;
                xmlDocument.Load(memoryStream);
            }

            logger.LogTrace(string.Format("SE.GOV.MM.Integration.Signing.Helper.SerializeHelper: leaving SerializeToXmlDocumentV3"));
            return(xmlDocument);
        }
        internal async Task <DeliveryResult> SendMessageToMailBoxOperator(SealedDelivery SealedDelivery, X509Certificate2 x509Certificate2, string endpointAdress)
        {
            logger.LogTrace(string.Format("SE.GOV.MM.Integration.Infrastructure.MessageHandler: entering SendMessageToMailBoxOperator"));

            var binding = new BasicHttpBinding()
            {
                Security = new BasicHttpSecurity()
                {
                    Transport = new HttpTransportSecurity()
                    {
                        ClientCredentialType = HttpClientCredentialType.Certificate
                    },
                    Mode = BasicHttpSecurityMode.Transport
                }
            };

            try
            {
                var client = new ServicePortv3Client(binding, new EndpointAddress(endpointAdress));
                client.ClientCredentials.ClientCertificate.Certificate = x509Certificate2;

                logger.LogTrace(string.Format("SE.GOV.MM.Integration.Infrastructure.MessageHandler: Sending message to MailBoxOperator"));
                var response = await client.deliverSecureAsync(SealedDelivery);

                logger.LogTrace(string.Format("SE.GOV.MM.Integration.Infrastructure.MessageHandler: leaving SendMessageToMailBoxOperator"));
                return(response.@return);
            }
            catch (Exception ce)
            {
                logger.LogError(ce, ce.Message);
                throw ce;
            }
        }
        public System.Threading.Tasks.Task <deliverSecureResponse> deliverSecureAsync(SealedDelivery deliverSecure)
        {
            deliverSecureRequest inValue = new deliverSecureRequest();

            inValue.deliverSecure = deliverSecure;
            return(((ServicePortv3)(this)).deliverSecureAsync(inValue));
        }