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
- EntityDataSourceColumn.cs
- VolatileEnlistmentMultiplexing.cs
- Empty.cs
- UpWmlPageAdapter.cs
- EnumConverter.cs
- ProfileServiceManager.cs
- Trigger.cs
- AutomationPeer.cs
- ConfigXmlElement.cs
- TypeUtil.cs
- XsltConvert.cs
- OletxTransactionManager.cs
- ConnectionStringSettingsCollection.cs
- InternalSafeNativeMethods.cs
- ImagingCache.cs
- SpecialNameAttribute.cs
- CompleteWizardStep.cs
- PointCollection.cs
- ServiceRoute.cs
- ACE.cs
- CacheOutputQuery.cs
- CustomAttributeBuilder.cs
- DomNameTable.cs
- MulticastNotSupportedException.cs
- TextTabProperties.cs
- SourceSwitch.cs
- CodeIndexerExpression.cs
- PointHitTestResult.cs
- QuaternionConverter.cs
- StaticDataManager.cs
- SqlXmlStorage.cs
- HttpCacheVaryByContentEncodings.cs
- AudioLevelUpdatedEventArgs.cs
- ComponentDispatcher.cs
- ToolBarTray.cs
- ObjectQueryExecutionPlan.cs
- ClientEventManager.cs
- ReceiveContext.cs
- KeyInterop.cs
- NTAccount.cs
- TreeViewHitTestInfo.cs
- XsltInput.cs
- ConfigXmlWhitespace.cs
- UnmanagedMemoryAccessor.cs
- SharedUtils.cs
- GridViewColumn.cs
- PropertyDescriptorCollection.cs
- AttachInfo.cs
- ChameleonKey.cs
- ControlTemplate.cs
- EvidenceBase.cs
- TypedDataSetSchemaImporterExtension.cs
- ConfigurationStrings.cs
- ReturnEventArgs.cs
- ProcessHostMapPath.cs
- ManagedIStream.cs
- SystemPens.cs
- WebPartActionVerb.cs
- ZoneMembershipCondition.cs
- COM2ExtendedBrowsingHandler.cs
- NativeMethods.cs
- XmlHierarchicalEnumerable.cs
- FormViewPageEventArgs.cs
- SchemaTypeEmitter.cs
- WsdlBuildProvider.cs
- DataGridSortCommandEventArgs.cs
- BindingOperations.cs
- ObjectDisposedException.cs
- Vector.cs
- DeadCharTextComposition.cs
- LoadItemsEventArgs.cs
- FacetDescriptionElement.cs
- DetailsViewRowCollection.cs
- Form.cs
- _LoggingObject.cs
- ListSortDescriptionCollection.cs
- NavigationWindowAutomationPeer.cs
- InkPresenter.cs
- RC2CryptoServiceProvider.cs
- ReadonlyMessageFilter.cs
- GeneralTransform3DGroup.cs
- TemplateLookupAction.cs
- BamlRecordReader.cs
- DesignerListAdapter.cs
- DeploymentExceptionMapper.cs
- StringBuilder.cs
- CryptoHelper.cs
- CallSiteOps.cs
- RangeValidator.cs
- StorageAssociationTypeMapping.cs
- GridEntryCollection.cs
- WindowsGrip.cs
- RuleProcessor.cs
- ValidatingCollection.cs
- TextBlockAutomationPeer.cs
- QilName.cs
- MinimizableAttributeTypeConverter.cs
- RichTextBoxContextMenu.cs
- TokenBasedSet.cs
- Int32CAMarshaler.cs