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
- ErrorWebPart.cs
- DebuggerAttributes.cs
- ScriptControlDescriptor.cs
- CustomAttributeFormatException.cs
- BitmapEffectGeneralTransform.cs
- ReadWriteObjectLock.cs
- LocalClientSecuritySettingsElement.cs
- QuaternionAnimation.cs
- Lazy.cs
- Viewport3DVisual.cs
- SecurityKeyIdentifier.cs
- CachedRequestParams.cs
- DateTimeUtil.cs
- NegationPusher.cs
- NamedServiceModelExtensionCollectionElement.cs
- KnownColorTable.cs
- DrawingState.cs
- LassoHelper.cs
- ScriptControl.cs
- AssociationProvider.cs
- XsltInput.cs
- CompilerWrapper.cs
- EntityDataSourceWrapper.cs
- SpinLock.cs
- DtdParser.cs
- Size3D.cs
- ApplicationTrust.cs
- FormatException.cs
- SqlDataSourceConfigureFilterForm.cs
- cookiecontainer.cs
- FunctionQuery.cs
- SessionStateUtil.cs
- SoapMessage.cs
- PrinterResolution.cs
- Figure.cs
- AssemblyBuilder.cs
- ToolStripDropDownButton.cs
- COM2ExtendedUITypeEditor.cs
- DigitalSignature.cs
- SimpleExpression.cs
- LayoutInformation.cs
- FlowDocumentFormatter.cs
- RoleService.cs
- UnmanagedHandle.cs
- UTF32Encoding.cs
- ToolStripSplitStackLayout.cs
- MaskedTextProvider.cs
- Control.cs
- FormDocumentDesigner.cs
- WebRequest.cs
- ConfigurationElementCollection.cs
- DriveNotFoundException.cs
- StorageFunctionMapping.cs
- NameTable.cs
- MonthChangedEventArgs.cs
- BitmapEffect.cs
- RelationshipType.cs
- DataPagerField.cs
- UrlUtility.cs
- ErrorStyle.cs
- ProvidersHelper.cs
- NetworkAddressChange.cs
- FieldAccessException.cs
- PaginationProgressEventArgs.cs
- QueryCacheEntry.cs
- ParallelActivityDesigner.cs
- CodeConstructor.cs
- Unit.cs
- XmlWellformedWriter.cs
- QuinticEase.cs
- AutoFocusStyle.xaml.cs
- XmlParserContext.cs
- HashHelper.cs
- AttributeParameterInfo.cs
- XmlEncodedRawTextWriter.cs
- ScrollContentPresenter.cs
- TargetControlTypeCache.cs
- GroupBoxAutomationPeer.cs
- BamlStream.cs
- ActivityDelegate.cs
- _BaseOverlappedAsyncResult.cs
- FixUpCollection.cs
- ObjectResult.cs
- PersonalizationAdministration.cs
- StateRuntime.cs
- DrawingAttributes.cs
- HttpWebRequest.cs
- sqlmetadatafactory.cs
- StringUtil.cs
- OuterGlowBitmapEffect.cs
- TokenBasedSet.cs
- CngKeyBlobFormat.cs
- ILGenerator.cs
- ComplexType.cs
- TextOutput.cs
- OptionUsage.cs
- SystemInformation.cs
- XmlNode.cs
- DataSourceXmlClassAttribute.cs
- PeerUnsafeNativeCryptMethods.cs