Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Protocols / SoapUnknownHeader.cs / 1305376 / SoapUnknownHeader.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Protocols { using System.Web.Services; using System.Xml.Serialization; using System; using System.Reflection; using System.Xml; using System.Collections; using System.IO; using System.ComponentModel; ////// /// public sealed class SoapUnknownHeader : SoapHeader { XmlElement element; ///[To be supplied.] ////// /// [XmlIgnore] public XmlElement Element { get { if (element == null) return null; if (version == SoapProtocolVersion.Soap12) { // need to fix up mustUnderstand and actor attributes for soap 1.2 if (InternalMustUnderstand) { element.SetAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace, "1"); } element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace); string actor = InternalActor; if (actor != null && actor.Length != 0) { element.SetAttribute(Soap12.Attribute.Role, Soap12.Namespace, actor); } element.RemoveAttribute(Soap.Attribute.Actor, Soap.Namespace); } else if (version == SoapProtocolVersion.Soap11) { // need to fix up mustUnderstand and actor attributes for soap 1.1 // also remove relay attribute since it only applies to soap 1.2 if (InternalMustUnderstand) { element.SetAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace, "1"); } element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace); string actor = InternalActor; if (actor != null && actor.Length != 0) { element.SetAttribute(Soap.Attribute.Actor, Soap.Namespace, actor); } element.RemoveAttribute(Soap12.Attribute.Role, Soap12.Namespace); element.RemoveAttribute(Soap12.Attribute.Relay, Soap12.Namespace); } return element; } set { if (value == null && element != null) { // save off the mustUnderstand/actor values before they go away base.InternalMustUnderstand = InternalMustUnderstand; base.InternalActor = InternalActor; } element = value; } } internal override bool InternalMustUnderstand { get { if (element == null) return base.InternalMustUnderstand; string elementMustUnderstand = GetElementAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace, element); if (elementMustUnderstand == null) { elementMustUnderstand = GetElementAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace, element); if (elementMustUnderstand == null) return false; } switch (elementMustUnderstand) { case "false": case "0": return false; case "true": case "1": return true; default: return false; } } set { base.InternalMustUnderstand = value; if (element != null) { if (value) element.SetAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace, "1"); else element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace); element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace); } } } internal override string InternalActor { get { if (element == null) return base.InternalActor; string elementActor = GetElementAttribute(Soap.Attribute.Actor, Soap.Namespace, element); if (elementActor == null) { elementActor = GetElementAttribute(Soap12.Attribute.Role, Soap12.Namespace, element); if (elementActor == null) return ""; } return elementActor; } set { base.InternalActor = value; if (element != null) { if (value == null || value.Length == 0) element.RemoveAttribute(Soap.Attribute.Actor, Soap.Namespace); else element.SetAttribute(Soap.Attribute.Actor, Soap.Namespace, value); element.RemoveAttribute(Soap12.Attribute.Role, Soap12.Namespace); } } } internal override bool InternalRelay { get { if (element == null) return base.InternalRelay; string elementRelay = GetElementAttribute(Soap12.Attribute.Relay, Soap12.Namespace, element); if (elementRelay == null) return false; switch (elementRelay) { case "false": case "0": return false; case "true": case "1": return true; default: return false; } } set { base.InternalRelay = value; if (element != null) { if (value) element.SetAttribute(Soap12.Attribute.Relay, Soap12.Namespace, "1"); else element.RemoveAttribute(Soap12.Attribute.Relay, Soap12.Namespace); } } } private string GetElementAttribute(string name, string ns, XmlElement element) { if (element == null) return null; if (element.Prefix.Length == 0 && element.NamespaceURI == ns) { if (element.HasAttribute(name)) return element.GetAttribute(name); else return null; } else { if (element.HasAttribute(name, ns)) return element.GetAttribute(name, ns); else return null; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Protocols { using System.Web.Services; using System.Xml.Serialization; using System; using System.Reflection; using System.Xml; using System.Collections; using System.IO; using System.ComponentModel; ////// /// public sealed class SoapUnknownHeader : SoapHeader { XmlElement element; ///[To be supplied.] ////// /// [XmlIgnore] public XmlElement Element { get { if (element == null) return null; if (version == SoapProtocolVersion.Soap12) { // need to fix up mustUnderstand and actor attributes for soap 1.2 if (InternalMustUnderstand) { element.SetAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace, "1"); } element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace); string actor = InternalActor; if (actor != null && actor.Length != 0) { element.SetAttribute(Soap12.Attribute.Role, Soap12.Namespace, actor); } element.RemoveAttribute(Soap.Attribute.Actor, Soap.Namespace); } else if (version == SoapProtocolVersion.Soap11) { // need to fix up mustUnderstand and actor attributes for soap 1.1 // also remove relay attribute since it only applies to soap 1.2 if (InternalMustUnderstand) { element.SetAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace, "1"); } element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace); string actor = InternalActor; if (actor != null && actor.Length != 0) { element.SetAttribute(Soap.Attribute.Actor, Soap.Namespace, actor); } element.RemoveAttribute(Soap12.Attribute.Role, Soap12.Namespace); element.RemoveAttribute(Soap12.Attribute.Relay, Soap12.Namespace); } return element; } set { if (value == null && element != null) { // save off the mustUnderstand/actor values before they go away base.InternalMustUnderstand = InternalMustUnderstand; base.InternalActor = InternalActor; } element = value; } } internal override bool InternalMustUnderstand { get { if (element == null) return base.InternalMustUnderstand; string elementMustUnderstand = GetElementAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace, element); if (elementMustUnderstand == null) { elementMustUnderstand = GetElementAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace, element); if (elementMustUnderstand == null) return false; } switch (elementMustUnderstand) { case "false": case "0": return false; case "true": case "1": return true; default: return false; } } set { base.InternalMustUnderstand = value; if (element != null) { if (value) element.SetAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace, "1"); else element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap.Namespace); element.RemoveAttribute(Soap.Attribute.MustUnderstand, Soap12.Namespace); } } } internal override string InternalActor { get { if (element == null) return base.InternalActor; string elementActor = GetElementAttribute(Soap.Attribute.Actor, Soap.Namespace, element); if (elementActor == null) { elementActor = GetElementAttribute(Soap12.Attribute.Role, Soap12.Namespace, element); if (elementActor == null) return ""; } return elementActor; } set { base.InternalActor = value; if (element != null) { if (value == null || value.Length == 0) element.RemoveAttribute(Soap.Attribute.Actor, Soap.Namespace); else element.SetAttribute(Soap.Attribute.Actor, Soap.Namespace, value); element.RemoveAttribute(Soap12.Attribute.Role, Soap12.Namespace); } } } internal override bool InternalRelay { get { if (element == null) return base.InternalRelay; string elementRelay = GetElementAttribute(Soap12.Attribute.Relay, Soap12.Namespace, element); if (elementRelay == null) return false; switch (elementRelay) { case "false": case "0": return false; case "true": case "1": return true; default: return false; } } set { base.InternalRelay = value; if (element != null) { if (value) element.SetAttribute(Soap12.Attribute.Relay, Soap12.Namespace, "1"); else element.RemoveAttribute(Soap12.Attribute.Relay, Soap12.Namespace); } } } private string GetElementAttribute(string name, string ns, XmlElement element) { if (element == null) return null; if (element.Prefix.Length == 0 && element.NamespaceURI == ns) { if (element.HasAttribute(name)) return element.GetAttribute(name); else return null; } else { if (element.HasAttribute(name, ns)) return element.GetAttribute(name, ns); else return null; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DrawingGroupDrawingContext.cs
- XmlAnyAttributeAttribute.cs
- XmlQueryOutput.cs
- PathGeometry.cs
- typedescriptorpermission.cs
- ProxyDataContractResolver.cs
- Stack.cs
- SafeArrayTypeMismatchException.cs
- TranslateTransform.cs
- RawMouseInputReport.cs
- ConsumerConnectionPointCollection.cs
- NonClientArea.cs
- TextParagraphCache.cs
- WorkflowMarkupSerializerMapping.cs
- DesignerLoader.cs
- PeerContact.cs
- RowToParametersTransformer.cs
- TransportSecurityBindingElement.cs
- LogRestartAreaEnumerator.cs
- ProcessInfo.cs
- DataGridCommandEventArgs.cs
- SrgsText.cs
- PenCursorManager.cs
- DataGridViewMethods.cs
- CopyNamespacesAction.cs
- MetadataSource.cs
- HttpModuleCollection.cs
- SHA256.cs
- SimpleParser.cs
- DragCompletedEventArgs.cs
- RowToParametersTransformer.cs
- DbProviderFactories.cs
- TripleDESCryptoServiceProvider.cs
- DirectoryRootQuery.cs
- XmlSchemas.cs
- XmlDigitalSignatureProcessor.cs
- LayoutInformation.cs
- RootDesignerSerializerAttribute.cs
- Attributes.cs
- FrameworkContentElement.cs
- ThicknessAnimation.cs
- ConnectionPoint.cs
- QEncodedStream.cs
- MediaScriptCommandRoutedEventArgs.cs
- DataComponentNameHandler.cs
- StickyNote.cs
- PrintEvent.cs
- MonikerProxyAttribute.cs
- altserialization.cs
- CheckBoxStandardAdapter.cs
- BuildProvidersCompiler.cs
- RectAnimationBase.cs
- RoutedEvent.cs
- ClientTarget.cs
- ResourceKey.cs
- ContextMenuService.cs
- LicenseException.cs
- FullTextState.cs
- ConnectorRouter.cs
- _ChunkParse.cs
- PassportAuthenticationEventArgs.cs
- UrlPath.cs
- UiaCoreProviderApi.cs
- EditorZone.cs
- EntryWrittenEventArgs.cs
- ErrorStyle.cs
- NameTable.cs
- GPRECTF.cs
- UxThemeWrapper.cs
- TextModifier.cs
- RemoteWebConfigurationHostServer.cs
- InputProcessorProfilesLoader.cs
- SingleResultAttribute.cs
- DocumentPageTextView.cs
- DataGridColumnCollection.cs
- PnrpPermission.cs
- Logging.cs
- CompModSwitches.cs
- TreeWalker.cs
- CodeStatement.cs
- TreeNodeBinding.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- BehaviorService.cs
- MULTI_QI.cs
- TextTreeFixupNode.cs
- LocationChangedEventArgs.cs
- TaskFormBase.cs
- DiagnosticsConfiguration.cs
- XPathSelectionIterator.cs
- CodeTypeMemberCollection.cs
- PkcsUtils.cs
- ProfileService.cs
- ContentControl.cs
- GridViewCommandEventArgs.cs
- Label.cs
- EdmScalarPropertyAttribute.cs
- Timeline.cs
- MissingSatelliteAssemblyException.cs
- SerializationStore.cs
- MbpInfo.cs