Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / WSAddressing10ProblemHeaderQNameFault.cs / 1 / WSAddressing10ProblemHeaderQNameFault.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Globalization; using System.Xml; using System.ServiceModel; using System.ServiceModel.Channels; using System.Text; using System.Collections.Generic; using System.Runtime.Serialization; using System.ServiceModel.Diagnostics; class WSAddressing10ProblemHeaderQNameFault : MessageFault { FaultCode code; FaultReason reason; string actor; string node; string invalidHeaderName; public WSAddressing10ProblemHeaderQNameFault(MessageHeaderException e) { this.invalidHeaderName = e.HeaderName; if (e.IsDuplicate) { this.code = FaultCode.CreateSenderFaultCode( new FaultCode(Addressing10Strings.InvalidAddressingHeader, AddressingVersion.WSAddressing10.Namespace, new FaultCode(Addressing10Strings.InvalidCardinality, AddressingVersion.WSAddressing10.Namespace))); } else { this.code = FaultCode.CreateSenderFaultCode( new FaultCode(Addressing10Strings.MessageAddressingHeaderRequired, AddressingVersion.WSAddressing10.Namespace)); } this.reason = new FaultReason(e.Message, CultureInfo.CurrentCulture); this.actor = ""; this.node = ""; } public WSAddressing10ProblemHeaderQNameFault(ActionMismatchAddressingException e) { this.invalidHeaderName = AddressingStrings.Action; this.code = FaultCode.CreateSenderFaultCode( new FaultCode(Addressing10Strings.ActionMismatch, AddressingVersion.WSAddressing10.Namespace)); this.reason = new FaultReason(e.Message, CultureInfo.CurrentCulture); this.actor = ""; this.node = ""; } public override string Actor { get { return actor; } } public override FaultCode Code { get { return code; } } public override bool HasDetail { get { return true; } } public override string Node { get { return node; } } public override FaultReason Reason { get { return reason; } } protected override void OnWriteDetail(XmlDictionaryWriter writer, EnvelopeVersion version) { if (version == EnvelopeVersion.Soap12) // Soap11 wants the detail in the header { OnWriteStartDetail(writer, version); OnWriteDetailContents(writer); writer.WriteEndElement(); } } protected override void OnWriteDetailContents(XmlDictionaryWriter writer) { writer.WriteStartElement(Addressing10Strings.ProblemHeaderQName, AddressingVersion.WSAddressing10.Namespace); writer.WriteQualifiedName(this.invalidHeaderName, AddressingVersion.WSAddressing10.Namespace); writer.WriteEndElement(); } public void AddHeaders(MessageHeaders headers) { if (headers.MessageVersion.Envelope == EnvelopeVersion.Soap11) { headers.Add(new WSAddressing10ProblemHeaderQNameHeader(this.invalidHeaderName)); } } class WSAddressing10ProblemHeaderQNameHeader : MessageHeader { string invalidHeaderName; public WSAddressing10ProblemHeaderQNameHeader(string invalidHeaderName) { this.invalidHeaderName = invalidHeaderName; } public override string Name { get { return Addressing10Strings.FaultDetail; } } public override string Namespace { get { return AddressingVersion.WSAddressing10.Namespace; } } protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion) { writer.WriteStartElement(this.Name, this.Namespace); } protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion) { writer.WriteStartElement(Addressing10Strings.ProblemHeaderQName, this.Namespace); writer.WriteQualifiedName(this.invalidHeaderName, this.Namespace); writer.WriteEndElement(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PolygonHotSpot.cs
- userdatakeys.cs
- SwitchLevelAttribute.cs
- VirtualizingPanel.cs
- XmlSchemaComplexContentExtension.cs
- FreeFormDesigner.cs
- WebReferencesBuildProvider.cs
- UnsafeNativeMethods.cs
- DomainConstraint.cs
- EdmMember.cs
- _CacheStreams.cs
- XmlNamespaceDeclarationsAttribute.cs
- DataColumn.cs
- FastEncoder.cs
- JavascriptCallbackResponseProperty.cs
- InternalResources.cs
- PropertyMapper.cs
- XmlBinaryWriter.cs
- ResourcesBuildProvider.cs
- BreakRecordTable.cs
- MemberProjectionIndex.cs
- WorkItem.cs
- ReachSerializerAsync.cs
- Visual3D.cs
- KnownTypesHelper.cs
- ColorAnimation.cs
- ServiceThrottlingBehavior.cs
- EmptyQuery.cs
- SafeMarshalContext.cs
- HwndSourceParameters.cs
- RelatedCurrencyManager.cs
- BitmapScalingModeValidation.cs
- UriSection.cs
- CoreSwitches.cs
- ImageSource.cs
- BamlTreeNode.cs
- MarkupExtensionReturnTypeAttribute.cs
- IISUnsafeMethods.cs
- FormattedTextSymbols.cs
- DecimalConstantAttribute.cs
- RenderingBiasValidation.cs
- CatalogZoneDesigner.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- RichTextBoxAutomationPeer.cs
- PageCopyCount.cs
- MouseGesture.cs
- FontStyleConverter.cs
- ProfessionalColorTable.cs
- DoubleLinkListEnumerator.cs
- ModelProperty.cs
- grammarelement.cs
- MSAAWinEventWrap.cs
- SoapFormatter.cs
- Misc.cs
- XmlProcessingInstruction.cs
- UnsafeNativeMethods.cs
- WrapPanel.cs
- TraceUtility.cs
- BuiltInPermissionSets.cs
- AuthenticationModuleElement.cs
- RuntimeTrackingProfile.cs
- DataGridViewCellEventArgs.cs
- TextContainer.cs
- DataGridCheckBoxColumn.cs
- BufferedWebEventProvider.cs
- Socket.cs
- EventHandlerService.cs
- ConfigurationSectionHelper.cs
- ContainerUtilities.cs
- Int32CollectionConverter.cs
- GraphicsContext.cs
- ExtentJoinTreeNode.cs
- EraserBehavior.cs
- ElementProxy.cs
- SqlCacheDependencyDatabaseCollection.cs
- XmlSchemaImporter.cs
- SchemaNamespaceManager.cs
- BaseUriWithWildcard.cs
- ReservationNotFoundException.cs
- RuleInfoComparer.cs
- AppLevelCompilationSectionCache.cs
- X509ChainPolicy.cs
- HtmlLiteralTextAdapter.cs
- TrackingStringDictionary.cs
- CollectionType.cs
- TreeNodeMouseHoverEvent.cs
- MessageBox.cs
- HtmlControl.cs
- ImageCreator.cs
- SQLDateTime.cs
- OutputBuffer.cs
- Compilation.cs
- CalendarDay.cs
- ReliabilityContractAttribute.cs
- EmptyEnumerable.cs
- TdsParserSafeHandles.cs
- HttpCacheVaryByContentEncodings.cs
- updateconfighost.cs
- StylusSystemGestureEventArgs.cs
- assertwrapper.cs