Exemple #1
0
 private void InitializeFrom(HttpRelayTransportBindingElement transport, MessageEncodingBindingElement encoding, System.ServiceModel.Channels.ReliableSessionBindingElement session)
 {
     this.MaxBufferPoolSize      = transport.MaxBufferPoolSize;
     this.MaxReceivedMessageSize = transport.MaxReceivedMessageSize;
     this.ProxyAddress           = transport.ProxyAddress;
     this.UseDefaultWebProxy     = transport.UseDefaultWebProxy;
     if (encoding is TextMessageEncodingBindingElement)
     {
         this.MessageEncoding = WSMessageEncoding.Text;
         TextMessageEncodingBindingElement textMessageEncodingBindingElement = (TextMessageEncodingBindingElement)encoding;
         this.TextEncoding = textMessageEncodingBindingElement.WriteEncoding;
         this.ReaderQuotas = textMessageEncodingBindingElement.ReaderQuotas;
     }
     else if (encoding is MtomMessageEncodingBindingElement)
     {
         this.messageEncoding = WSMessageEncoding.Mtom;
         MtomMessageEncodingBindingElement mtomMessageEncodingBindingElement = (MtomMessageEncodingBindingElement)encoding;
         this.TextEncoding = mtomMessageEncodingBindingElement.WriteEncoding;
         this.ReaderQuotas = mtomMessageEncodingBindingElement.ReaderQuotas;
     }
     this.reliableSession.Enabled = session != null;
     if (session != null)
     {
         this.session.InactivityTimeout = session.InactivityTimeout;
         this.session.Ordered           = session.Ordered;
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private Binding GetDefaultBinding()
        {
            var mtom = new MtomMessageEncodingBindingElement();

            mtom.MaxBufferSize         = 1073741824;
            mtom.ReaderQuotas.MaxDepth = 256;
            mtom.ReaderQuotas.MaxStringContentLength = 1073741824;
            mtom.ReaderQuotas.MaxArrayLength         = 1073741824;
            mtom.ReaderQuotas.MaxBytesPerRead        = 1073741824;
            mtom.ReaderQuotas.MaxNameTableCharCount  = 1073741824;

            var transport = new HttpsTransportBindingElement();

            transport.MaxReceivedMessageSize = 1073741824;
            transport.MaxBufferSize          = 1073741824;
            transport.MaxBufferPoolSize      = 1073741824;
            transport.KeepAliveEnabled       = false;

            var binding = new CustomBinding(mtom, transport);

            binding.CloseTimeout   = TimeSpan.FromMinutes(5);
            binding.OpenTimeout    = TimeSpan.FromMinutes(5);
            binding.ReceiveTimeout = TimeSpan.FromMinutes(20);
            binding.SendTimeout    = TimeSpan.FromMinutes(20);

            return(binding);
        }
Exemple #3
0
        public override BindingElementCollection CreateBindingElements()
        {
            BindingElementCollection bindingElements = new BindingElementCollection();

            bindingElements.Add(SecurityBindingElement.CreateUserNameOverTransportBindingElement());
            MtomMessageEncodingBindingElement messageEncoding = new MtomMessageEncodingBindingElement();

            messageEncoding.MessageVersion = MessageVersion.Soap11;
            bindingElements.Add(messageEncoding);
            HttpsTransportBindingElement transport = new HttpsTransportBindingElement();

            transport.ManualAddressing                   = false;
            transport.AllowCookies                       = false;
            transport.AuthenticationScheme               = AuthenticationSchemes.Anonymous;
            transport.BypassProxyOnLocal                 = false;
            transport.DecompressionEnabled               = true;
            transport.HostNameComparisonMode             = HostNameComparisonMode.StrongWildcard;
            transport.KeepAliveEnabled                   = true;
            transport.ProxyAuthenticationScheme          = AuthenticationSchemes.Anonymous;
            transport.TransferMode                       = TransferMode.Buffered;
            transport.UnsafeConnectionNtlmAuthentication = false;
            transport.UseDefaultWebProxy                 = true;
            bindingElements.Add(transport);
            return(bindingElements.Clone());
        }
        internal virtual void InitializeFrom(HttpTransportBindingElement transport, MessageEncodingBindingElement encoding)
        {
            this.BypassProxyOnLocal               = transport.BypassProxyOnLocal;
            this.HostNameComparisonMode           = transport.HostNameComparisonMode;
            this.MaxBufferPoolSize                = transport.MaxBufferPoolSize;
            this.MaxBufferSize                    = transport.MaxBufferSize;
            this.MaxReceivedMessageSize           = transport.MaxReceivedMessageSize;
            this.ProxyAddress                     = transport.ProxyAddress;
            this.TransferMode                     = transport.TransferMode;
            this.UseDefaultWebProxy               = transport.UseDefaultWebProxy;
            this.httpTransport.WebSocketSettings  = transport.WebSocketSettings;
            this.httpsTransport.WebSocketSettings = transport.WebSocketSettings;

            if (encoding is TextMessageEncodingBindingElement)
            {
                TextMessageEncodingBindingElement text = (TextMessageEncodingBindingElement)encoding;
                this.TextEncoding = text.WriteEncoding;
                this.ReaderQuotas = text.ReaderQuotas;
            }
            else if (encoding is MtomMessageEncodingBindingElement)
            {
                MtomMessageEncodingBindingElement mtom = (MtomMessageEncodingBindingElement)encoding;
                this.TextEncoding = mtom.WriteEncoding;
                this.ReaderQuotas = mtom.ReaderQuotas;
            }

            this.BasicHttpSecurity.Transport.ExtendedProtectionPolicy = transport.ExtendedProtectionPolicy;
        }
		private static IEnumerable<BindingElement> CreateBindingElements(bool mtomEncoding, bool wsAddressing, bool securityToken, bool useTls){
			var msgVer = wsAddressing ? 
				MessageVersion.Soap12WSAddressing10 :
				MessageVersion.Soap12;
			if(mtomEncoding){
				var encoding = new MtomMessageEncodingBindingElement(msgVer, Encoding.UTF8);
				encoding.ReaderQuotas.MaxStringContentLength = Int32.MaxValue;
				encoding.MaxBufferSize = Int32.MaxValue;
				yield return encoding;
			}else{
				var encoding = new TextMessageEncodingBindingElement(msgVer, Encoding.UTF8);
				encoding.ReaderQuotas.MaxStringContentLength = Int32.MaxValue; //100 * 1024 * 1024
				yield return encoding;
			}

			//var security = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
			//security..M .MessageSecurityVersion = MessageSecurityVersion.

			HttpTransportBindingElement transport = CreateTransportBindingElement(useTls);
			transport.MaxReceivedMessageSize = Int32.MaxValue; //100L * 1024L * 1024L
			transport.KeepAliveEnabled = false;
			transport.MaxBufferSize = Int32.MaxValue;
			transport.ProxyAddress = null;
			transport.BypassProxyOnLocal = true;
			//transport.ManualAddressing = true
			transport.UseDefaultWebProxy = false;
			transport.TransferMode =TransferMode.StreamedResponse;
			//transport.TransferMode = TransfeStreamedResponse
			transport.AuthenticationScheme = AuthenticationSchemes.Basic;
			//transport.AuthenticationScheme = AuthenticationSchemes.Digest;
			
			yield return transport;
		}
Exemple #6
0
 private void InitializeFrom(HttpTransportBindingElement transport, MessageEncodingBindingElement encoding, System.ServiceModel.Channels.TransactionFlowBindingElement txFlow, System.ServiceModel.Channels.ReliableSessionBindingElement session)
 {
     this.BypassProxyOnLocal     = transport.BypassProxyOnLocal;
     this.HostNameComparisonMode = transport.HostNameComparisonMode;
     this.MaxBufferPoolSize      = transport.MaxBufferPoolSize;
     this.MaxReceivedMessageSize = transport.MaxReceivedMessageSize;
     this.ProxyAddress           = transport.ProxyAddress;
     this.UseDefaultWebProxy     = transport.UseDefaultWebProxy;
     if (encoding is TextMessageEncodingBindingElement)
     {
         this.MessageEncoding = WSMessageEncoding.Text;
         TextMessageEncodingBindingElement element = (TextMessageEncodingBindingElement)encoding;
         this.TextEncoding = element.WriteEncoding;
         this.ReaderQuotas = element.ReaderQuotas;
     }
     else if (encoding is MtomMessageEncodingBindingElement)
     {
         this.messageEncoding = WSMessageEncoding.Mtom;
         MtomMessageEncodingBindingElement element2 = (MtomMessageEncodingBindingElement)encoding;
         this.TextEncoding = element2.WriteEncoding;
         this.ReaderQuotas = element2.ReaderQuotas;
     }
     this.TransactionFlow         = txFlow.Transactions;
     this.reliableSession.Enabled = session != null;
     if (session != null)
     {
         this.session.InactivityTimeout = session.InactivityTimeout;
         this.session.Ordered           = session.Ordered;
     }
 }
Exemple #7
0
        private MessageEncoder GetEncoder(string contentType)
        {
            //todo: this method is not completely implemented. Look at comments bellow.
            if (Regex.IsMatch(contentType, "^multipart.*"))
            {
                var mtomBindingElement = new MtomMessageEncodingBindingElement(_factory.MessageVersion, Encoding.GetEncoding(_factory.CharSet));
                var mtomFactory        = mtomBindingElement.CreateMessageEncoderFactory();
                return(mtomFactory.Encoder);
                //return _mtomEncoder;
            }
            else // if (...)
            {
                var textBindingElement = new TextMessageEncodingBindingElement(_factory.MessageVersion, Encoding.GetEncoding(_factory.CharSet));
                //textBindingElement.ReaderQuotas.MaxStringContentLength = 65535;
                //textBindingElement.ReaderQuotas.MaxStringContentLength = textBindingElement.ReaderQuotas.MaxBytesPerRead = 65535;
                textBindingElement.ReaderQuotas.MaxStringContentLength = textBindingElement.ReaderQuotas.MaxBytesPerRead = 1024 * 1024 * 16;

                var textFactory = textBindingElement.CreateMessageEncoderFactory();
                return(textFactory.Encoder);
                //return _textEncoder;
            }
            //else if (...)
            //{
            //    return new BinaryMessageEncodingBindingElement();
            //}
            throw new NotSupportedException(string.Format("Unexpected content-type: \"{0}\".", contentType));
        }
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        public TextOrMtomEncoder(MessageVersion messageVersion, XmlDictionaryReaderQuotas readerQuotas, int maxReadPoolSize, int maxWritePoolSize, int maxBufferSize)
        {
            if (messageVersion is null)
            {
                throw new ArgumentNullException(nameof(messageVersion));
            }
            if (readerQuotas is null)
            {
                throw new ArgumentNullException(nameof(readerQuotas));
            }

            var textEncoderBindingElement = new TextMessageEncodingBindingElement(messageVersion, Encoding.UTF8);

            textEncoderBindingElement.MaxReadPoolSize  = maxReadPoolSize;
            textEncoderBindingElement.MaxWritePoolSize = maxWritePoolSize;
            readerQuotas.CopyTo(textEncoderBindingElement.ReaderQuotas);
            text = textEncoderBindingElement.CreateMessageEncoderFactory().Encoder;

            if (messageVersion.Envelope != EnvelopeVersion.None)
            {
                var mtomEncoderBindingElement = new MtomMessageEncodingBindingElement(messageVersion, Encoding.UTF8);
                mtomEncoderBindingElement.MaxBufferSize    = maxBufferSize;
                mtomEncoderBindingElement.MaxReadPoolSize  = maxReadPoolSize;
                mtomEncoderBindingElement.MaxWritePoolSize = maxWritePoolSize;
                readerQuotas.CopyTo(mtomEncoderBindingElement.ReaderQuotas);
                mtom = mtomEncoderBindingElement.CreateMessageEncoderFactory().Encoder;
            }
        }
        public static MessageEncodingBindingElement BuildMessageEncoding(MessageEncodingType encodingType, MessageSizeQuotas quotas)
        {
            if (encodingType == MessageEncodingType.Mtom)
            {
                MtomMessageEncodingBindingElement mtomEncodingBindingElement =
                    new MtomMessageEncodingBindingElement(MessageVersion.Soap12WSAddressing10, System.Text.Encoding.UTF8);

                mtomEncodingBindingElement.MaxBufferSize = quotas.MaxBufferSize;

                return(mtomEncodingBindingElement);
            }
            else
            {
                TextMessageEncodingBindingElement textMessageEncoding =
                    new TextMessageEncodingBindingElement(MessageVersion.Soap12WSAddressing10, System.Text.UTF8Encoding.UTF8);
                textMessageEncoding.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max;
                //textMessageEncoding.MaxReadPoolSize = 16;
                //textMessageEncoding.MaxWritePoolSize = 16;
                //textMessageEncoding.ReaderQuotas.MaxDepth = int.MaxValue; //32;
                //textMessageEncoding.ReaderQuotas.MaxStringContentLength = int.MaxValue; //65536;// 8192;
                //textMessageEncoding.ReaderQuotas.MaxArrayLength = int.MaxValue; //16384;
                //textMessageEncoding.ReaderQuotas.MaxBytesPerRead = int.MaxValue; //4096;
                textMessageEncoding.ReaderQuotas.MaxNameTableCharCount = quotas.MaxBufferSize;
                return(textMessageEncoding);
            }
        }
Exemple #10
0
        private bool IsBindingElementsMatch(HttpRelayTransportBindingElement transport, MessageEncodingBindingElement encoding)
        {
            if (this.MessageEncoding == WSMessageEncoding.Text)
            {
                Type type = typeof(BindingElement);
                TextMessageEncodingBindingElement textMessageEncodingBindingElement = this.textEncoding;
                object[] objArray = new object[] { encoding };
                if (!(bool)InvokeHelper.InvokeInstanceMethod(type, textMessageEncodingBindingElement, "IsMatch", objArray))
                {
                    return(false);
                }
            }
            else if (this.MessageEncoding == WSMessageEncoding.Mtom)
            {
                Type type1 = typeof(BindingElement);
                MtomMessageEncodingBindingElement mtomMessageEncodingBindingElement = this.mtomEncoding;
                object[] objArray1 = new object[] { encoding };
                if (!(bool)InvokeHelper.InvokeInstanceMethod(type1, mtomMessageEncodingBindingElement, "IsMatch", objArray1))
                {
                    return(false);
                }
            }
            Type type2 = typeof(BindingElement);
            TransportBindingElement transportBindingElement = this.GetTransport();

            object[] objArray2 = new object[] { transport };
            if (!(bool)InvokeHelper.InvokeInstanceMethod(type2, transportBindingElement, "IsMatch", objArray2))
            {
                return(false);
            }
            return(true);
        }
Exemple #11
0
 private void InitializeFrom(HttpTransportBindingElement transport, MessageEncodingBindingElement encoding)
 {
     this.BypassProxyOnLocal     = transport.BypassProxyOnLocal;
     this.HostNameComparisonMode = transport.HostNameComparisonMode;
     this.MaxBufferPoolSize      = transport.MaxBufferPoolSize;
     this.MaxBufferSize          = transport.MaxBufferSize;
     this.MaxReceivedMessageSize = transport.MaxReceivedMessageSize;
     this.ProxyAddress           = transport.ProxyAddress;
     this.TransferMode           = transport.TransferMode;
     this.UseDefaultWebProxy     = transport.UseDefaultWebProxy;
     this.Security.Transport.ExtendedProtectionPolicy = transport.ExtendedProtectionPolicy;
     if (encoding is TextMessageEncodingBindingElement)
     {
         this.MessageEncoding = WSMessageEncoding.Text;
         TextMessageEncodingBindingElement element = (TextMessageEncodingBindingElement)encoding;
         this.TextEncoding = element.WriteEncoding;
         this.ReaderQuotas = element.ReaderQuotas;
     }
     else if (encoding is MtomMessageEncodingBindingElement)
     {
         this.messageEncoding = WSMessageEncoding.Mtom;
         MtomMessageEncodingBindingElement element2 = (MtomMessageEncodingBindingElement)encoding;
         this.TextEncoding = element2.WriteEncoding;
         this.ReaderQuotas = element2.ReaderQuotas;
     }
 }
 internal static void SyncUpEncodingBindingElementProperties(TextMessageEncodingBindingElement textEncoding, MtomMessageEncodingBindingElement mtomEncoding)
 {
     // textEncoding provides the backing store for ReaderQuotas and WriteEncoding,
     // we must ensure same values propogate to mtomEncoding
     textEncoding.ReaderQuotas.CopyTo(mtomEncoding.ReaderQuotas);
     mtomEncoding.WriteEncoding = textEncoding.WriteEncoding;
 }
        protected internal override BindingElement CreateBindingElement()
        {
            MtomMessageEncodingBindingElement binding = new MtomMessageEncodingBindingElement();

            this.ApplyConfiguration(binding);
            return(binding);
        }
Exemple #14
0
        private void InitializeFrom(HttpTransportBindingElement transport, MessageEncodingBindingElement encoding, TransactionFlowBindingElement txFlow, ReliableSessionBindingElement session)
        {
            this.HostNameComparisonMode = transport.HostNameComparisonMode;
            this.MaxBufferPoolSize      = transport.MaxBufferPoolSize;
            this.MaxReceivedMessageSize = transport.MaxReceivedMessageSize;

            // this binding only supports Text and Mtom encoding
            if (encoding is TextMessageEncodingBindingElement)
            {
                this.MessageEncoding = WSMessageEncoding.Text;
                TextMessageEncodingBindingElement text = (TextMessageEncodingBindingElement)encoding;
                this.TextEncoding = text.WriteEncoding;
                this.ReaderQuotas = text.ReaderQuotas;
            }
            else if (encoding is MtomMessageEncodingBindingElement)
            {
                _messageEncoding = WSMessageEncoding.Mtom;
                MtomMessageEncodingBindingElement mtom = (MtomMessageEncodingBindingElement)encoding;
                this.TextEncoding = mtom.WriteEncoding;
                this.ReaderQuotas = mtom.ReaderQuotas;
            }
            this.TransactionFlow     = txFlow.Transactions;
            _reliableSession.Enabled = session != null;

            //session
            if (session != null)
            {
                // only set properties that have standard binding manifestations
                _session.InactivityTimeout = session.InactivityTimeout;
                _session.Ordered           = session.Ordered;
            }
        }
Exemple #15
0
        CreateBindingElements()
        {
            BindingElement         tx     = new TransactionFlowBindingElement(TransactionProtocol.WSAtomicTransactionOctober2004);
            SecurityBindingElement sec    = CreateMessageSecurity();
            BindingElement         msg    = null;
            MessageVersion         msgver = MessageVersion.CreateVersion(EnvelopeVersion, AddressingVersion.WSAddressing10);

            switch (MessageEncoding)
            {
            case WSMessageEncoding.Mtom:
                msg = new MtomMessageEncodingBindingElement(msgver, TextEncoding);
                break;

            case WSMessageEncoding.Text:
                msg = new TextMessageEncodingBindingElement(msgver, TextEncoding);
                break;

            default:
                throw new NotImplementedException("mhm, another WSMessageEncoding?");
            }
            BindingElement        tr   = GetTransport();
            List <BindingElement> list = new List <BindingElement> ();

            list.Add(tx);
            if (sec != null)
            {
                list.Add(sec);
            }
            list.Add(msg);
            if (tr != null)
            {
                list.Add(tr);
            }
            return(new BindingElementCollection(list.ToArray()));
        }
Exemple #16
0
        public static CustomBinding CreateCustomBinding()
        {
            ProxyUtils.ByPassCertificate();
            WSMessageEncoding msgEncoding;

            msgEncoding = WSMessageEncoding.Mtom;
            BasicHttpSecurityMode sec          = BasicHttpSecurityMode.TransportWithMessageCredential;
            BasicHttpBinding      basicBinding = new BasicHttpBinding(sec)
            {
                Security =
                {
                    Message                  =
                    {
                        ClientCredentialType = BasicHttpMessageCredentialType.UserName
                    }
                },
                MessageEncoding = msgEncoding,
            };
            var elements = basicBinding.CreateBindingElements();

            if (msgEncoding == WSMessageEncoding.Text)
            {
                TextMessageEncodingBindingElement te = elements.Find <TextMessageEncodingBindingElement>();
                te.MessageVersion = MessageVersion.Soap12;
            }
            else
            {
                MtomMessageEncodingBindingElement te = elements.Find <MtomMessageEncodingBindingElement>();
                te.MessageVersion = MessageVersion.Soap12;
            }
            CustomBinding customBinding = new CustomBinding(elements);

            return(customBinding);
        }
Exemple #17
0
 /// <summary>
 /// Initializes a new instance.
 /// </summary>
 /// <param name="incoming"></param>
 protected AspNetCoreBinding()
 {
     this.transport    = new AspNetCoreTransportBindingElement();
     this.textEncoding = new TextMessageEncodingBindingElement();
     this.textEncoding.MessageVersion = MessageVersion.Soap11;
     this.mtomEncoding = new MtomMessageEncodingBindingElement();
     this.mtomEncoding.MessageVersion = MessageVersion.Soap11;
 }
Exemple #18
0
        public static FNCEWS40PortTypeClient ConfigureBinding(String user, String domain, String password, String uri)
        {
            BindingElementCollection bec = new BindingElementCollection();

            // Everything gets treated as if it is username credentials until
            //  right at the point of serialization.
            TransportSecurityBindingElement sbe = SecurityBindingElement.CreateUserNameOverTransportBindingElement();

            sbe.IncludeTimestamp = false;
            bec.Add(sbe);

            if (uri.IndexOf("SOAP") != -1)
            {
                // using the SOAP endpoint
                TextMessageEncodingBindingElement tme = new TextMessageEncodingBindingElement();
                tme.MessageVersion        = MessageVersion.Soap11;
                tme.ReaderQuotas.MaxDepth = 1024;
                tme.ReaderQuotas.MaxStringContentLength = 1024 * 1024;
                bec.Add(tme);
            }
            else
            {
                MtomMessageEncodingBindingElement mme = new MtomMessageEncodingBindingElement();
                mme.MessageVersion        = MessageVersion.Soap12;
                mme.ReaderQuotas.MaxDepth = 1024;
                mme.ReaderQuotas.MaxStringContentLength = 1024 * 1024;
                mme.MaxBufferSize = 2147483647;
                bec.Add(mme);
            }

            HttpsTransportBindingElement tbe = new HttpsTransportBindingElement();

            tbe.MaxReceivedMessageSize = 2147483647;
            tbe.MaxBufferSize          = 2147483647;
            bec.Add(tbe);

            CustomBinding binding = new CustomBinding(bec);

            binding.ReceiveTimeout = new TimeSpan(TimeSpan.TicksPerDay);    // 100 nanonsecond units, make it 1 day
            binding.SendTimeout    = binding.ReceiveTimeout;

            EndpointAddress endpoint = new EndpointAddress(uri);

            port = new FNCEWS40PortTypeClient(binding, endpoint);

            port.ClientCredentials.UserName.UserName = user;
            port.ClientCredentials.UserName.Password = password;

            // set up the Localization header, minus the locale. We assume
            //  the timezone cannot change between calls, but that the locale
            //  may.
            localization          = new Localization();
            localization.Timezone = GetTimezone();

            return(port);
        }
Exemple #19
0
 private void Initialize()
 {
     this.httpTransport               = new HttpTransportBindingElement();
     this.httpsTransport              = new HttpsTransportBindingElement();
     this.messageEncoding             = WSMessageEncoding.Text;
     this.textEncoding                = new TextMessageEncodingBindingElement();
     this.textEncoding.MessageVersion = MessageVersion.Soap11;
     this.mtomEncoding                = new MtomMessageEncodingBindingElement();
     this.mtomEncoding.MessageVersion = MessageVersion.Soap11;
 }
Exemple #20
0
        public MyReadMtomWriteXmlEncodingBindingElement(MtomMessageEncodingBindingElement mtomBE, TextMessageEncodingBindingElement textBE)
        {
            if (textBE.MessageVersion != mtomBE.MessageVersion)
            {
                throw new ArgumentException("MessageVersion of the two inner encodings must be the same.");
            }

            this.mtomBE = mtomBE;
            this.textBE = textBE;
        }
        private void Initialize()
        {
            _securityBindingElement = CreateSecurityBindingElement();

            _reliableSessionBindingElement = CreateReliableSessionBindingElement();

            _mtomEncodingBindingElement = CreateMtomEncodingBindingElement();

            _httpsTransportBindingElement = CreateHttpsTransportBindingElement() as HttpsTransportBindingElement;
        }
Exemple #22
0
        private static FirmaDigitale.FirmaDigitalePortTypeClient createClient(string endPoindAddress)
        {
            #region WCFRuntimeSettings
            var binding = new CustomBinding();
            binding.Name = "FirmaDigitalePortTypeEndpoint2BindingMIO";

            XmlDictionaryReaderQuotas readquota = new XmlDictionaryReaderQuotas
            {
                MaxStringContentLength = 100000000,
                MaxArrayLength         = 100000000,
                MaxBytesPerRead        = 524288
            };
            MtomMessageEncodingBindingElement mtomEconding = new MtomMessageEncodingBindingElement
            {
                MaxReadPoolSize  = 640,
                MaxWritePoolSize = 160,
                MessageVersion   = MessageVersion.Soap12,
                MaxBufferSize    = 2147483647,
            };

            mtomEconding.ReaderQuotas.MaxArrayLength         = 100000000;
            mtomEconding.ReaderQuotas.MaxBytesPerRead        = 524288;
            mtomEconding.ReaderQuotas.MaxStringContentLength = 5242880;

            HttpsTransportBindingElement httpsTransposport = new HttpsTransportBindingElement
            {
                ManualAddressing          = false,
                MaxBufferPoolSize         = 524288,
                MaxBufferSize             = 2147483647,
                MaxReceivedMessageSize    = 2147483647,
                AllowCookies              = false,
                AuthenticationScheme      = System.Net.AuthenticationSchemes.Anonymous,
                BypassProxyOnLocal        = false,
                HostNameComparisonMode    = System.ServiceModel.HostNameComparisonMode.StrongWildcard,
                KeepAliveEnabled          = true,
                ProxyAuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous,
                Realm        = "",
                TransferMode = System.ServiceModel.TransferMode.Streamed,
                UnsafeConnectionNtlmAuthentication = false,
                UseDefaultWebProxy       = false,
                RequireClientCertificate = true
            };

            binding.Elements.Add(mtomEconding);
            binding.Elements.Add(httpsTransposport);

            EndpointAddress     epAddre = new EndpointAddress(endPoindAddress);
            ContractDescription cd      = new ContractDescription("FirmaDigitale.FirmaDigitalePortType");

            FirmaDigitale.FirmaDigitalePortTypeClient channel = new FirmaDigitale.FirmaDigitalePortTypeClient(binding, epAddre);
            string certFindData = "client.firma.s.pitre";
            channel.ClientCredentials.ClientCertificate.SetCertificate(System.Security.Cryptography.X509Certificates.StoreLocation.LocalMachine, System.Security.Cryptography.X509Certificates.StoreName.My, System.Security.Cryptography.X509Certificates.X509FindType.FindBySubjectName, certFindData);
            channel.Endpoint.Behaviors.Add(new MaxFaultSizeBehavior(2147483647));
            return(channel);
        }
        public AssertEncryptionHttpBinding(AssertEncryptionHttpSecurityMode securityMode)
        {
            this.SecurityMode = securityMode;

            this.MessageEncoding = WSMessageEncoding.Text;
            this.TextEncoding    = new TextMessageEncodingBindingElement();
            this.MtomEncoding    = new MtomMessageEncodingBindingElement();
            this.MessageVersion  = MessageVersion.Soap12WSAddressing10;

            this.Transport = new AssertEncryptionHttpTransportBindingElement();
        }
Exemple #24
0
 private void Initialize()
 {
     HttpTransport  = new HttpTransportBindingElement();
     HttpsTransport = new HttpsTransportBindingElement();
     _session       = new ReliableSessionBindingElement(true);
     _textEncoding  = new TextMessageEncodingBindingElement();
     _textEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     _mtomEncoding = new MtomMessageEncodingBindingElement();
     _mtomEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     _reliableSession             = new OptionalReliableSession(_session);
 }
        protected internal override void InitializeFrom(BindingElement bindingElement)
        {
            base.InitializeFrom(bindingElement);
            MtomMessageEncodingBindingElement element = (MtomMessageEncodingBindingElement)bindingElement;

            this.MessageVersion   = element.MessageVersion;
            this.WriteEncoding    = element.WriteEncoding;
            this.MaxReadPoolSize  = element.MaxReadPoolSize;
            this.MaxWritePoolSize = element.MaxWritePoolSize;
            this.ReaderQuotas.InitializeFrom(element.ReaderQuotas);
            this.MaxBufferSize = element.MaxBufferSize;
        }
        internal HttpBindingBase()
        {
            this.httpTransport = new HttpTransportBindingElement();
            this.httpsTransport = new HttpsTransportBindingElement();

            this.textEncoding = new TextMessageEncodingBindingElement();
            this.textEncoding.MessageVersion = MessageVersion.Soap11;
            this.mtomEncoding = new MtomMessageEncodingBindingElement();
            this.mtomEncoding.MessageVersion = MessageVersion.Soap11;

            this.httpsTransport.WebSocketSettings = this.httpTransport.WebSocketSettings;
        }
        public override void ApplyConfiguration(BindingElement bindingElement)
        {
            base.ApplyConfiguration(bindingElement);
            MtomMessageEncodingBindingElement element = (MtomMessageEncodingBindingElement)bindingElement;

            element.MessageVersion   = this.MessageVersion;
            element.WriteEncoding    = this.WriteEncoding;
            element.MaxReadPoolSize  = this.MaxReadPoolSize;
            element.MaxWritePoolSize = this.MaxWritePoolSize;
            this.ReaderQuotas.ApplyConfiguration(element.ReaderQuotas);
            element.MaxBufferSize = this.MaxBufferSize;
        }
        protected internal override void InitializeFrom(BindingElement bindingElement)
        {
            base.InitializeFrom(bindingElement);
            MtomMessageEncodingBindingElement binding = (MtomMessageEncodingBindingElement)bindingElement;

            SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MessageVersion, binding.MessageVersion);
            SetPropertyValueIfNotDefaultValue(ConfigurationStrings.WriteEncoding, binding.WriteEncoding);
            SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxReadPoolSize, binding.MaxReadPoolSize);
            SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxWritePoolSize, binding.MaxWritePoolSize);
            this.ReaderQuotas.InitializeFrom(binding.ReaderQuotas);
            SetPropertyValueIfNotDefaultValue(ConfigurationStrings.MaxBufferSize, binding.MaxBufferSize);
        }
Exemple #29
0
        internal HttpBindingBase()
        {
            _httpTransport  = new HttpTransportBindingElement();
            _httpsTransport = new HttpsTransportBindingElement();
            _httpsTransport.WebSocketSettings = _httpTransport.WebSocketSettings;

            _textEncoding = new TextMessageEncodingBindingElement();
            _textEncoding.MessageVersion = MessageVersion.Soap11;

            _mtomEncoding = new MtomMessageEncodingBindingElement();
            _mtomEncoding.MessageVersion = MessageVersion.Soap11;
        }
        private void Initialize()
        {
            _securityBindingElement = CreateSecurityBindingElement();
            //_securityBindingElement = CreateTransportSecurityBindingElement();

            _reliableSessionBindingElement = CreateReliableSessionBindingElement();

            //binding.Elements.Add(new TextMessageEncodingBindingElement(MessageVersion.Soap11WSAddressing10, Encoding.UTF8));

            _mtomEncodingBindingElement = CreateMtomEncodingBindingElement();

            _httpsTransportBindingElement = CreateHttpsTransportBindingElement() as HttpsTransportBindingElement;
        }
Exemple #31
0
 internal HttpBindingBase()
 {
     _httpTransport  = new HttpTransportBindingElement();
     _httpsTransport = new HttpsTransportBindingElement();
     TextMessageEncodingBindingElement = new TextMessageEncodingBindingElement
     {
         MessageVersion = MessageVersion.Soap11
     };
     MtomMessageEncodingBindingElement = new MtomMessageEncodingBindingElement
     {
         MessageVersion = MessageVersion.Soap11
     };
 }
 private void Initialize()
 {
     this.httpTransport = new HttpTransportBindingElement();
     this.httpsTransport = new HttpsTransportBindingElement();
     this.messageEncoding = WSMessageEncoding.Text;
     this.txFlow = GetDefaultTransactionFlowBindingElement();
     this.session = new System.ServiceModel.Channels.ReliableSessionBindingElement(true);
     this.textEncoding = new TextMessageEncodingBindingElement();
     this.textEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     this.mtomEncoding = new MtomMessageEncodingBindingElement();
     this.mtomEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     this.reliableSession = new OptionalReliableSession(this.session);
 }
        public override void ApplyConfiguration(BindingElement bindingElement)
        {
            base.ApplyConfiguration(bindingElement);
            MtomMessageEncodingBindingElement binding = (MtomMessageEncodingBindingElement)bindingElement;

            binding.MessageVersion   = this.MessageVersion;
            binding.WriteEncoding    = this.WriteEncoding;
            binding.MaxReadPoolSize  = this.MaxReadPoolSize;
            binding.MaxWritePoolSize = this.MaxWritePoolSize;
#pragma warning suppress 56506 //[....]; base.ApplyConfiguration() checks for 'binding' being null
            this.ReaderQuotas.ApplyConfiguration(binding.ReaderQuotas);
            binding.MaxBufferSize = this.MaxBufferSize;
        }
Exemple #34
0
 private void Initialize()
 {
     HttpTransport  = new HttpTransportBindingElement();
     HttpsTransport = new HttpsTransportBindingElement();
     _textEncoding  = new TextMessageEncodingBindingElement
     {
         MessageVersion = MessageVersion.Soap12WSAddressing10
     };
     _mtomEncoding = new MtomMessageEncodingBindingElement
     {
         MessageVersion = MessageVersion.Soap12WSAddressing10
     };
 }
 void Initialize()
 {
     httpTransport               = new HttpTransportBindingElement();
     httpsTransport              = new HttpsTransportBindingElement();
     messageEncoding             = WSHttpBindingDefaults.MessageEncoding;
     txFlow                      = GetDefaultTransactionFlowBindingElement();
     session                     = new ReliableSessionBindingElement(true);
     textEncoding                = new TextMessageEncodingBindingElement();
     textEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     mtomEncoding                = new MtomMessageEncodingBindingElement();
     mtomEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     reliableSession             = new OptionalReliableSession(session);
 }
Exemple #36
0
 private void Initialize()
 {
     this.httpTransport               = new HttpTransportBindingElement();
     this.httpsTransport              = new HttpsTransportBindingElement();
     this.messageEncoding             = WSMessageEncoding.Text;
     this.txFlow                      = GetDefaultTransactionFlowBindingElement();
     this.session                     = new System.ServiceModel.Channels.ReliableSessionBindingElement(true);
     this.textEncoding                = new TextMessageEncodingBindingElement();
     this.textEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     this.mtomEncoding                = new MtomMessageEncodingBindingElement();
     this.mtomEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     this.reliableSession             = new OptionalReliableSession(this.session);
 }
        private MtomMessageEncodingBindingElement CreateMtomEncodingBindingElement()
        {
            MtomMessageEncodingBindingElement mtomEncodingBindingElement = new MtomMessageEncodingBindingElement(MessageVersion.Soap11WSAddressing10, Encoding.UTF8);
            //mtomEncodingBindingElement.MaxBufferSize = 20000000;
            //mtomEncodingBindingElement.MaxReadPoolSize = 20000000;
            //mtomEncodingBindingElement.MaxWritePoolSize = 20000000;

            //mtomEncodingBindingElement.ReaderQuotas.MaxStringContentLength = 200000000;
            //mtomEncodingBindingElement.ReaderQuotas.MaxArrayLength = 200000000;
            //mtomEncodingBindingElement.ReaderQuotas.MaxBytesPerRead = 200000000;
            //mtomEncodingBindingElement.ReaderQuotas.MaxDepth = 200000000;
            //mtomEncodingBindingElement.ReaderQuotas.MaxNameTableCharCount = 200000000;

            return mtomEncodingBindingElement;
        }
Exemple #38
0
        static int SizeOfMtomMessage(Message message)
        {
            // Create an MTOM encoder
            MessageEncodingBindingElement element = new MtomMessageEncodingBindingElement();
            MessageEncoderFactory factory = element.CreateMessageEncoderFactory();
            MessageEncoder encoder = factory.Encoder;

            // Write the message and return its length
            MemoryStream stream = new MemoryStream();
            encoder.WriteMessage(message, stream);
            int size = (int)stream.Length;
            
            stream.Close();
            message.Close();
            return size;
        }
Exemple #39
0
        public static void Main()
        {
            string baseAddress = "http://" + Environment.MachineName + ":8000/Service";
            ServiceHost host = new ServiceHost(typeof(Service), new Uri(baseAddress));
            host.AddServiceEndpoint(typeof(ITest), GetServerBinding(), "");
            host.Open();
            Console.WriteLine("Host opened");

            foreach (bool useMtom in new bool[] { false, true })
            {
                MessageEncodingBindingElement clientEncoding;
                if (useMtom)
                {
                    clientEncoding = new MtomMessageEncodingBindingElement();
                }
                else
                {
                    clientEncoding = new TextMessageEncodingBindingElement();
                }

                CustomBinding binding = new CustomBinding(clientEncoding, new HttpTransportBindingElement());
                ChannelFactory<ITest> factory = new ChannelFactory<ITest>(binding, new EndpointAddress(baseAddress));
                ITest proxy = factory.CreateChannel();

                byte[] fileContents = new byte[10000];
                for (int i = 0; i < fileContents.Length; i++)
                {
                    fileContents[i] = (byte)('a' + (i % 26));
                }

                using (new OperationContextScope((IContextChannel)proxy))
                {
                    proxy.Echo(new MyDC { Name = "FileName.bin", Contents = fileContents });
                    HttpResponseMessageProperty responseProperty;
                    responseProperty = (HttpResponseMessageProperty)OperationContext.Current.IncomingMessageProperties[HttpResponseMessageProperty.Name];
                    Console.WriteLine("In client, response content-type: {0}", responseProperty.Headers[HttpResponseHeader.ContentType]);
                }

                ((IClientChannel)proxy).Close();
                factory.Close();
            }

            Console.Write("Press ENTER to close the host");
            Console.ReadLine();
            host.Close();
        }
Exemple #40
0
        private static PrivateClient NewClient(string uri, PSCredential credential)
        {
            CustomBinding custBinding = new CustomBinding();
            MtomMessageEncodingBindingElement elmtom = new MtomMessageEncodingBindingElement();
            elmtom.MaxWritePoolSize = 2147483647;
            elmtom.MaxBufferSize = 2147483647;
            elmtom.MessageVersion = MessageVersion.Soap12;

            var ssbe = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
            ssbe.AllowInsecureTransport = true;
            ssbe.IncludeTimestamp = false;
            ssbe.MessageSecurityVersion = MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10;
            var htt = new HttpTransportBindingElement();

            htt.MaxBufferPoolSize = 2147483647;
            htt.MaxReceivedMessageSize = 2147483647;
            htt.MaxBufferSize = 2147483647;
            EndpointAddress n = new EndpointAddress(uri);

            custBinding.Elements.Add(ssbe);
            custBinding.Elements.Add(elmtom);
            custBinding.Elements.Add(htt);

            var client = new PrivateClient(custBinding, n);
                if (credential != null)
                {

                    if (client.ClientCredentials != null)
                    {

                        client.ClientCredentials.UserName.UserName = credential.GetNetworkCredential().UserName;
                        client.ClientCredentials.UserName.Password = SecureStringToString(credential.Password);
                    }
                }
                else
                {
                    if (client.ClientCredentials != null)
                    {
                       // client.ClientCredentials.UserName.UserName = "******";
                        //client.ClientCredentials.UserName.Password = "******";
                    }
                }
            return client;
        }
Exemple #41
0
        public static ServiceProxies.IOService.NanoIOSystemAPIInterfaceClient GetIOService(string url = null)
        {
            /*
            if (String.IsNullOrEmpty(url))
                url = CONST.EntryPointUrl;

            string ioServiceUrl = GetEntryPointService(url).GetServiceUri(ServiceNames.Data.ToString());
            var address = new EndpointAddress(ioServiceUrl);
            */

            var address = new EndpointAddress(Config.AppSettings[STORAGE_CONFIG_NAME]);

            var mtomBind = new MtomMessageEncodingBindingElement();
            mtomBind.MessageVersion = MessageVersion.Soap11;
            var httpBind = new HttpTransportBindingElement();
            var binding = new CustomBinding(new BindingElement[] { mtomBind, httpBind });

            var service = new ServiceProxies.IOService.NanoIOSystemAPIInterfaceClient(binding, address);
            return service;
        }
Exemple #42
0
			CreateBindingElements ()
		{
			BindingElement tx = new TransactionFlowBindingElement (TransactionProtocol.WSAtomicTransactionOctober2004);
			SecurityBindingElement sec = CreateMessageSecurity ();
			BindingElement msg = null;
			MessageVersion msgver = MessageVersion.CreateVersion (EnvelopeVersion, AddressingVersion.WSAddressing10);
			switch (MessageEncoding) {
			case WSMessageEncoding.Mtom:
				msg = new MtomMessageEncodingBindingElement (msgver, TextEncoding);
				break;
			case WSMessageEncoding.Text:
				msg = new TextMessageEncodingBindingElement (msgver, TextEncoding);
				break;
			default:
				throw new NotImplementedException ("mhm, another WSMessageEncoding?");
			}
			BindingElement tr = GetTransport ();
			List<BindingElement> list = new List<BindingElement> ();
			list.Add (tx); // it is always added.
			if (sec != null)
				list.Add (sec);
			list.Add (msg);
			if (tr != null)
				list.Add (tr);
			// FIXME: add ReliableSessionBindingElement
			return new BindingElementCollection (list.ToArray ());
		}
Exemple #43
0
        private void Initialize()
        {
            lock (this)
            {
                if (!_isInitialized)
                {
                    _transport = new RabbitMQTransportBindingElement();
                    _textEncoding = new TextMessageEncodingBindingElement();
                    _mtomEncoding = new MtomMessageEncodingBindingElement();
                    _binaryEncoding = new BinaryMessageEncodingBindingElement();

                    _duplex = new CompositeDuplexBindingElement();

                    _isInitialized = true;
                }
            }
        }
 private void Initialize()
 {
     this.httpTransport = new HttpTransportBindingElement();
     this.httpsTransport = new HttpsTransportBindingElement();
     this.messageEncoding = WSMessageEncoding.Text;
     this.textEncoding = new TextMessageEncodingBindingElement();
     this.textEncoding.MessageVersion = MessageVersion.Soap11;
     this.mtomEncoding = new MtomMessageEncodingBindingElement();
     this.mtomEncoding.MessageVersion = MessageVersion.Soap11;
 }
Exemple #45
0
        private object InitServiceObject(string serviceKey)
        {
            object portObject = null;

            CustomBinding binding;

            string wcfBinding = session.GetValue(SessionParameter.WebServicesWCFBinding) as string;

            if (wcfBinding != null)
            {
                binding = new CustomBinding(wcfBinding);
            }
            else
            {
                long messageSize = session.GetValue(SessionParameter.MessageSize, 4 * 1024 * 1024);

                List<BindingElement> elements = new List<BindingElement>();

                SecurityBindingElement securityElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement();
                securityElement.SecurityHeaderLayout = SecurityHeaderLayout.LaxTimestampFirst;

                string enableUnsecuredResponseFlag = session.GetValue(SessionParameter.WebServicesEnableUnsecuredResponse) as string;
                if (enableUnsecuredResponseFlag != null && enableUnsecuredResponseFlag.ToLower().Equals("true"))
                {
                    PropertyInfo eur = securityElement.GetType().GetProperty("EnableUnsecuredResponse");
                    if (eur != null)
                    {
                        eur.GetSetMethod().Invoke(securityElement, new object[] { true });
                    }
                }

                elements.Add(securityElement);

                MtomMessageEncodingBindingElement mtomElement = new MtomMessageEncodingBindingElement();
                mtomElement.MessageVersion = MessageVersion.Soap11;
                mtomElement.MaxBufferSize = (messageSize > Int32.MaxValue ? Int32.MaxValue : (int)messageSize);
                elements.Add(mtomElement);

                HttpsTransportBindingElement transportElement = new HttpsTransportBindingElement();
                transportElement.MaxReceivedMessageSize = messageSize;
                transportElement.TransferMode = TransferMode.Streamed;
                transportElement.AllowCookies = true;
                elements.Add(transportElement);

                binding = new CustomBinding(elements);

                string openTimeOut = session.GetValue(SessionParameter.WebServicesOpenTimeout) as string;
                if (openTimeOut != null)
                {
                    binding.OpenTimeout = TimeSpan.Parse(openTimeOut);
                }

                string closeTimeOut = session.GetValue(SessionParameter.WebServicesCloseTimeout) as string;
                if (closeTimeOut != null)
                {
                    binding.CloseTimeout = TimeSpan.Parse(closeTimeOut);
                }

                string sendTimeOut = session.GetValue(SessionParameter.WebServicesSendTimeout) as string;
                if (sendTimeOut != null)
                {
                    binding.SendTimeout = TimeSpan.Parse(sendTimeOut);
                }

                string receiveTimeOut = session.GetValue(SessionParameter.WebServicesReceiveTimeout) as string;
                if (receiveTimeOut != null)
                {
                    binding.ReceiveTimeout = TimeSpan.Parse(receiveTimeOut);
                }
            }

            if (serviceKey == SessionParameter.WebServicesRepositoryService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesRepositoryService) as string;
                portObject = new RepositoryServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesNavigationService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesNavigationService) as string;
                portObject = new NavigationServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesObjectService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesObjectService) as string;
                portObject = new ObjectServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesVersioningService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesVersioningService) as string;
                portObject = new VersioningServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesDiscoveryService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesDiscoveryService) as string;
                portObject = new DiscoveryServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesRelationshipService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesRelationshipService) as string;
                portObject = new RelationshipServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesMultifilingService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesMultifilingService) as string;
                portObject = new MultiFilingServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesPolicyService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesPolicyService) as string;
                portObject = new PolicyServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }
            else if (serviceKey == SessionParameter.WebServicesAclService)
            {
                string wsdlUrl = session.GetValue(SessionParameter.WebServicesAclService) as string;
                portObject = new ACLServicePortClient(binding, new EndpointAddress(wsdlUrl));
            }

            IAuthenticationProvider authenticationProvider = session.GetAuthenticationProvider();
            if (authenticationProvider != null)
            {
                authenticationProvider.Authenticate(portObject);
            }

            return portObject;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        private Binding GetDefaultBinding()
        {
            var mtom = new MtomMessageEncodingBindingElement();
            mtom.MaxBufferSize = 1073741824;
            mtom.ReaderQuotas.MaxDepth = 256;
            mtom.ReaderQuotas.MaxStringContentLength = 1073741824;
            mtom.ReaderQuotas.MaxArrayLength = 1073741824;
            mtom.ReaderQuotas.MaxBytesPerRead = 1073741824;
            mtom.ReaderQuotas.MaxNameTableCharCount = 1073741824;

            var transport = new HttpsTransportBindingElement();
            transport.MaxReceivedMessageSize = 1073741824;
            transport.MaxBufferSize = 1073741824;
            transport.MaxBufferPoolSize = 1073741824;
            transport.KeepAliveEnabled = false;

            var binding = new CustomBinding(mtom, transport);
            binding.CloseTimeout = TimeSpan.FromMinutes(5);
            binding.OpenTimeout = TimeSpan.FromMinutes(5);
            binding.ReceiveTimeout = TimeSpan.FromMinutes(20);
            binding.SendTimeout = TimeSpan.FromMinutes(20);

            return binding;
        }
 private void Initialize()
 {
     this.httpTransport = new HttpTransportBindingElement();
     this.messageEncoding = WSMessageEncoding.Text;
     this.txFlow = GetDefaultTransactionFlowBindingElement();
     this.session = new ReliableSessionBindingElement(true);
     this.textEncoding = new TextMessageEncodingBindingElement();
     this.textEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     this.mtomEncoding = new MtomMessageEncodingBindingElement();
     this.mtomEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     this.compositeDuplex = new CompositeDuplexBindingElement();
     this.reliableSession = new System.ServiceModel.ReliableSession(this.session);
     this.oneWay = new OneWayBindingElement();
 }
        private MtomMessageEncodingBindingElement CreateMtomEncodingBindingElement()
        {
            MtomMessageEncodingBindingElement mtomEncodingBindingElement = new MtomMessageEncodingBindingElement(MessageVersion.Soap11WSAddressing10, Encoding.UTF8);

            return mtomEncodingBindingElement;
        }
 public override BindingElementCollection CreateBindingElements()
 {
     BindingElementCollection bindingElements = new BindingElementCollection();
     bindingElements.Add(SecurityBindingElement.CreateUserNameOverTransportBindingElement());
     MtomMessageEncodingBindingElement messageEncoding = new MtomMessageEncodingBindingElement();
     messageEncoding.MessageVersion = MessageVersion.Soap11;
     bindingElements.Add(messageEncoding);
     HttpsTransportBindingElement transport = new HttpsTransportBindingElement();
     transport.ManualAddressing = false;
     transport.AllowCookies = false;
     transport.AuthenticationScheme = AuthenticationSchemes.Anonymous;
     transport.BypassProxyOnLocal = false;
     transport.DecompressionEnabled = true;
     transport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
     transport.KeepAliveEnabled = true;
     transport.ProxyAuthenticationScheme = AuthenticationSchemes.Anonymous;
     transport.TransferMode = TransferMode.Buffered;
     transport.UnsafeConnectionNtlmAuthentication = false;
     transport.UseDefaultWebProxy = true;
     bindingElements.Add(transport);
     return bindingElements.Clone();
 }
 void Initialize()
 {
     httpTransport = new HttpTransportBindingElement();
     httpsTransport = new HttpsTransportBindingElement();
     messageEncoding = WSHttpBindingDefaults.MessageEncoding;
     txFlow = GetDefaultTransactionFlowBindingElement();
     session = new ReliableSessionBindingElement(true);
     textEncoding = new TextMessageEncodingBindingElement();
     textEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     mtomEncoding = new MtomMessageEncodingBindingElement();
     mtomEncoding.MessageVersion = MessageVersion.Soap12WSAddressing10;
     reliableSession = new OptionalReliableSession(session);
 }
 internal static void SyncUpEncodingBindingElementProperties(TextMessageEncodingBindingElement textEncoding, MtomMessageEncodingBindingElement mtomEncoding)
 {
     textEncoding.ReaderQuotas.CopyTo(mtomEncoding.ReaderQuotas);
     mtomEncoding.WriteEncoding = textEncoding.WriteEncoding;
 }
 protected internal override BindingElement CreateBindingElement()
 {
     MtomMessageEncodingBindingElement bindingElement = new MtomMessageEncodingBindingElement();
     this.ApplyConfiguration(bindingElement);
     return bindingElement;
 }
		public MtomMessageEncoderFactory (
			MtomMessageEncodingBindingElement owner)
		{
			this.owner = owner;
			encoder = new MtomMessageEncoder (this);
		}