Пример #1
0
        private void WriteHeader(XmlDictionaryWriter writer)
        {
            var nonce = new byte[64];

            RandomNumberGenerator.Create().GetBytes(nonce);
            //            string created = DateTime.Now.ToString("yyyy-MM-ddThh:mm:ssZ");
            string created = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ");

            writer.WriteStartElement("wsse", "UsernameToken", null);
            writer.WriteAttributeString("wsu:Id", "UsernameToken-1");
            writer.WriteStartElement("wsse", "Username", null);
            writer.WriteString(SystemUser);
            writer.WriteEndElement();//End Username
            writer.WriteStartElement("wsse", "Password", null);
            writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest");
            writer.WriteString(ComputePasswordDigest(SystemPassword, nonce, created));
            writer.WriteEndElement();//End Password
            writer.WriteStartElement("wsse", "Nonce", null);
            writer.WriteAttributeString("EncodingType", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary");
            writer.WriteBase64(nonce, 0, nonce.Length);
            writer.WriteEndElement();//End Nonce
            writer.WriteStartElement("wsu", "Created", null);
            writer.WriteString(created);
            writer.WriteEndElement(); //End Created
            writer.WriteEndElement(); //End UsernameToken
            writer.Flush();
            var test = writer.ToString();
        }
Пример #2
0
        /// <summary>
        /// Serializes object of specified type with DataContract Serializer
        /// </summary>
        /// <typeparam name="ObjetType">Type of serialized object</typeparam>
        /// <param name="data">Object to serialize</param>
        /// <returns>Returns object serialized into string.</returns>
        public static string Serialize <T>(T data)
        {
            using (MemoryStream MStream = new MemoryStream())
            {
                using (XmlDictionaryWriter XDWriter = XmlDictionaryWriter.CreateTextWriter(MStream, Encoding.UTF8))
                {
                    DataContractSerializer DCSerializaer = new DataContractSerializer(typeof(T));

                    DCSerializaer.WriteObject(XDWriter, data);
                    XDWriter.Flush();
                    string output = XDWriter.ToString();

                    return(output);
                }
            }
        }