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
- DesignTimeType.cs
- TcpTransportSecurityElement.cs
- PopOutPanel.cs
- NavigationProperty.cs
- MailDefinition.cs
- HwndSourceParameters.cs
- Rotation3DKeyFrameCollection.cs
- ControlPaint.cs
- TextView.cs
- IdentifierService.cs
- FileDataSourceCache.cs
- DefaultMergeHelper.cs
- RootAction.cs
- ErrorTolerantObjectWriter.cs
- XPathDescendantIterator.cs
- Internal.cs
- UInt64Storage.cs
- Quaternion.cs
- EventLogPermission.cs
- GridSplitter.cs
- DataSourceSelectArguments.cs
- ConnectionStringSettings.cs
- WebRequestModulesSection.cs
- UrlPropertyAttribute.cs
- FastPropertyAccessor.cs
- UserControlCodeDomTreeGenerator.cs
- SessionParameter.cs
- FontNamesConverter.cs
- ShapeTypeface.cs
- SqlTransaction.cs
- LifetimeServices.cs
- ListItemCollection.cs
- KnownColorTable.cs
- XPathExpr.cs
- SplineKeyFrames.cs
- PrintDocument.cs
- SerialStream.cs
- SqlDependency.cs
- TypeCodeDomSerializer.cs
- HttpListener.cs
- SBCSCodePageEncoding.cs
- ConfigXmlElement.cs
- FixedNode.cs
- Image.cs
- SelectionBorderGlyph.cs
- ImpersonateTokenRef.cs
- RemotingServices.cs
- MethodToken.cs
- ConfigurationStrings.cs
- GeometryGroup.cs
- SHA512.cs
- ListViewDataItem.cs
- GenericsInstances.cs
- PropertyValueChangedEvent.cs
- NativeMethodsCLR.cs
- EntitySqlQueryState.cs
- Executor.cs
- InteropBitmapSource.cs
- LocalizabilityAttribute.cs
- ResourceDictionary.cs
- HtmlEmptyTagControlBuilder.cs
- SafeMILHandle.cs
- ThicknessConverter.cs
- CustomLineCap.cs
- X509ChainElement.cs
- DirectoryRootQuery.cs
- Object.cs
- IndexingContentUnit.cs
- TypeSystemHelpers.cs
- xdrvalidator.cs
- PermissionListSet.cs
- MultiTrigger.cs
- SafeTimerHandle.cs
- DataControlFieldHeaderCell.cs
- ScriptIgnoreAttribute.cs
- LoginUtil.cs
- AttachmentService.cs
- SmiEventSink_Default.cs
- IIS7ConfigurationLoader.cs
- HeaderCollection.cs
- ManagedWndProcTracker.cs
- CodePageEncoding.cs
- mda.cs
- CacheOutputQuery.cs
- OutputCacheProviderCollection.cs
- ServerIdentity.cs
- CallbackHandler.cs
- OpenFileDialog.cs
- TypeUtils.cs
- DefaultSection.cs
- UniqueCodeIdentifierScope.cs
- UTF7Encoding.cs
- ControlIdConverter.cs
- SortedDictionary.cs
- ToolStripOverflowButton.cs
- XmlReflectionImporter.cs
- XmlSerializerFaultFormatter.cs
- PropagatorResult.cs
- DataGridViewCell.cs
- EmptyElement.cs