Soap12ProtocolImporter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Description / Soap12ProtocolImporter.cs / 1305376 / Soap12ProtocolImporter.cs

                            //------------------------------------------------------------------------------ 
//  
//     Copyright (c) Microsoft Corporation. All Rights Reserved.
//     Information Contained Herein is Proprietary and Confidential.
//   
//-----------------------------------------------------------------------------
namespace System.Web.Services.Description { 
 
    using System.Web.Services;
    using System.Web.Services.Protocols; 
    using System.Xml;
    using System.Xml.Serialization;
    using System.Xml.Schema;
    using System.Collections; 
    using System;
    using System.Reflection; 
    using System.CodeDom; 
    using System.Web.Services.Configuration;
    using System.Diagnostics; 
    using System.ComponentModel;
    using System.Security.Permissions;
    using System.Globalization;
 
    /// 
    [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] 
    internal class Soap12ProtocolImporter : SoapProtocolImporter { 

        public override string ProtocolName { 
            get { return "Soap12"; }
        }

        protected override bool IsBindingSupported() { 
            Soap12Binding soapBinding = (Soap12Binding)Binding.Extensions.Find(typeof(Soap12Binding));
            if (soapBinding == null) return false; 
 
            if (GetTransport(soapBinding.Transport) == null) {
                UnsupportedBindingWarning(Res.GetString(Res.ThereIsNoSoapTransportImporterThatUnderstands1, soapBinding.Transport)); 
                return false;
            }

            return true; 
        }
 
        protected override bool IsSoapEncodingPresent(string uriList) { 
            int iStart = 0;
            do { 
                iStart = uriList.IndexOf(Soap12.Encoding, iStart, StringComparison.Ordinal);
                if (iStart < 0)
                    break;
                int iEnd = iStart + Soap12.Encoding.Length; 
                if (iStart == 0 || uriList[iStart-1] == ' ')
                    if (iEnd == uriList.Length || uriList[iEnd] == ' ') 
                        return true; 
                iStart = iEnd;
            } while (iStart < uriList.Length); 

            // not soap 1.2 encoding. let's detect the soap 1.1 encoding and give a better error message.
            // otherwise just default to the normal "encoding style not supported" error.
            if (base.IsSoapEncodingPresent(uriList)) 
                UnsupportedOperationBindingWarning(Res.GetString(Res.WebSoap11EncodingStyleNotSupported1, Soap12.Encoding));
 
            return false; 
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------ 
//  
//     Copyright (c) Microsoft Corporation. All Rights Reserved.
//     Information Contained Herein is Proprietary and Confidential.
//   
//-----------------------------------------------------------------------------
namespace System.Web.Services.Description { 
 
    using System.Web.Services;
    using System.Web.Services.Protocols; 
    using System.Xml;
    using System.Xml.Serialization;
    using System.Xml.Schema;
    using System.Collections; 
    using System;
    using System.Reflection; 
    using System.CodeDom; 
    using System.Web.Services.Configuration;
    using System.Diagnostics; 
    using System.ComponentModel;
    using System.Security.Permissions;
    using System.Globalization;
 
    /// 
    [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] 
    internal class Soap12ProtocolImporter : SoapProtocolImporter { 

        public override string ProtocolName { 
            get { return "Soap12"; }
        }

        protected override bool IsBindingSupported() { 
            Soap12Binding soapBinding = (Soap12Binding)Binding.Extensions.Find(typeof(Soap12Binding));
            if (soapBinding == null) return false; 
 
            if (GetTransport(soapBinding.Transport) == null) {
                UnsupportedBindingWarning(Res.GetString(Res.ThereIsNoSoapTransportImporterThatUnderstands1, soapBinding.Transport)); 
                return false;
            }

            return true; 
        }
 
        protected override bool IsSoapEncodingPresent(string uriList) { 
            int iStart = 0;
            do { 
                iStart = uriList.IndexOf(Soap12.Encoding, iStart, StringComparison.Ordinal);
                if (iStart < 0)
                    break;
                int iEnd = iStart + Soap12.Encoding.Length; 
                if (iStart == 0 || uriList[iStart-1] == ' ')
                    if (iEnd == uriList.Length || uriList[iEnd] == ' ') 
                        return true; 
                iStart = iEnd;
            } while (iStart < uriList.Length); 

            // not soap 1.2 encoding. let's detect the soap 1.1 encoding and give a better error message.
            // otherwise just default to the normal "encoding style not supported" error.
            if (base.IsSoapEncodingPresent(uriList)) 
                UnsupportedOperationBindingWarning(Res.GetString(Res.WebSoap11EncodingStyleNotSupported1, Soap12.Encoding));
 
            return false; 
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK