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
- Visual.cs
- CompareInfo.cs
- VectorConverter.cs
- ControlCollection.cs
- DocumentPageHost.cs
- localization.cs
- XmlIncludeAttribute.cs
- ServiceNotStartedException.cs
- FramingEncoders.cs
- ScriptManager.cs
- SafeNativeMethods.cs
- LinqMaximalSubtreeNominator.cs
- CheckBoxDesigner.cs
- VectorAnimationBase.cs
- UseManagedPresentationBindingElementImporter.cs
- XmlSerializationGeneratedCode.cs
- PasswordPropertyTextAttribute.cs
- FrameworkContextData.cs
- ProfileProvider.cs
- Group.cs
- FrameworkElementFactory.cs
- EtwTrace.cs
- LongValidatorAttribute.cs
- ExpressionBuilder.cs
- LongValidator.cs
- WebServiceResponse.cs
- IDispatchConstantAttribute.cs
- SqlUserDefinedTypeAttribute.cs
- ConvertEvent.cs
- RightsManagementEncryptedStream.cs
- XmlSerializerVersionAttribute.cs
- DateTimeSerializationSection.cs
- PerspectiveCamera.cs
- RegexCode.cs
- Timer.cs
- CompileXomlTask.cs
- CodeComment.cs
- ValueQuery.cs
- InternalResources.cs
- PrePrepareMethodAttribute.cs
- FixedDocumentPaginator.cs
- TextInfo.cs
- StatusBarPanelClickEvent.cs
- OpacityConverter.cs
- BinaryFormatterWriter.cs
- AsyncOperationManager.cs
- xmlfixedPageInfo.cs
- BinaryFormatterSinks.cs
- Visual3DCollection.cs
- EventDescriptorCollection.cs
- DataGridViewCell.cs
- XmlEntity.cs
- Dispatcher.cs
- TabItemWrapperAutomationPeer.cs
- EncryptedPackage.cs
- OrderPreservingPipeliningMergeHelper.cs
- XmlILOptimizerVisitor.cs
- TextTreeRootTextBlock.cs
- SeekableReadStream.cs
- ObservableCollection.cs
- ChildTable.cs
- TransformCollection.cs
- CodeTryCatchFinallyStatement.cs
- SystemSounds.cs
- EntityDataSourceDataSelection.cs
- SqlProvider.cs
- DataGridViewTextBoxEditingControl.cs
- MultipartContentParser.cs
- SecureEnvironment.cs
- HandleCollector.cs
- BaseTreeIterator.cs
- Header.cs
- Membership.cs
- ScrollBarRenderer.cs
- ColorDialog.cs
- TraversalRequest.cs
- XmlSchemaType.cs
- ColorPalette.cs
- PartialClassGenerationTaskInternal.cs
- ErrorTableItemStyle.cs
- DateTimeOffset.cs
- PropertyConverter.cs
- TableLayoutPanelBehavior.cs
- BrushValueSerializer.cs
- TouchesOverProperty.cs
- PropertySegmentSerializationProvider.cs
- TreeViewImageKeyConverter.cs
- HwndTarget.cs
- SiteMapNodeCollection.cs
- BuildProvider.cs
- AddInController.cs
- FakeModelPropertyImpl.cs
- ObjectHelper.cs
- OpenTypeLayout.cs
- LogicalCallContext.cs
- SecondaryIndex.cs
- WebAdminConfigurationHelper.cs
- XmlWriterSettings.cs
- ListenerBinder.cs
- XhtmlBasicListAdapter.cs