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
- DefaultHttpHandler.cs
- ExpressionBindings.cs
- ExtendedProperty.cs
- TaiwanLunisolarCalendar.cs
- TreeViewItem.cs
- AsyncCompletedEventArgs.cs
- PenLineJoinValidation.cs
- EnvironmentPermission.cs
- _AutoWebProxyScriptEngine.cs
- NumericPagerField.cs
- GroupDescription.cs
- CategoryNameCollection.cs
- GroupItem.cs
- BuilderInfo.cs
- FileDialogPermission.cs
- PhonemeEventArgs.cs
- ScrollChangedEventArgs.cs
- TextRangeSerialization.cs
- DataTableExtensions.cs
- SafePointer.cs
- ExternalException.cs
- GridSplitterAutomationPeer.cs
- TraceEventCache.cs
- Stylesheet.cs
- followingquery.cs
- ExtensionQuery.cs
- XmlSchemaAnnotated.cs
- DataGridViewCheckBoxCell.cs
- oledbmetadatacolumnnames.cs
- DateTimeFormatInfo.cs
- SspiSafeHandles.cs
- PageRequestManager.cs
- SchemaExporter.cs
- SynchronizedDispatch.cs
- AlignmentXValidation.cs
- MenuAutoFormat.cs
- ExternalException.cs
- WeakHashtable.cs
- HandlerWithFactory.cs
- HtmlString.cs
- SimpleType.cs
- Menu.cs
- QueryableDataSourceHelper.cs
- RelationshipEndCollection.cs
- DetailsViewInsertedEventArgs.cs
- DataPagerCommandEventArgs.cs
- WebPartConnectionsDisconnectVerb.cs
- _IPv4Address.cs
- HMACSHA384.cs
- AgileSafeNativeMemoryHandle.cs
- DiscardableAttribute.cs
- TimelineClockCollection.cs
- MatrixAnimationUsingPath.cs
- AnchoredBlock.cs
- MenuItem.cs
- StandardToolWindows.cs
- ActionFrame.cs
- EmptyEnumerator.cs
- CodeSnippetStatement.cs
- RIPEMD160Managed.cs
- RightsManagementInformation.cs
- TextEditorTables.cs
- ContentType.cs
- BufferedWebEventProvider.cs
- ASCIIEncoding.cs
- StructuredType.cs
- ParamArrayAttribute.cs
- figurelengthconverter.cs
- PenLineCapValidation.cs
- GridToolTip.cs
- DataGridRowHeader.cs
- XmlDataLoader.cs
- Trace.cs
- PropertyPathConverter.cs
- Debug.cs
- ZipIOBlockManager.cs
- TrackingMemoryStreamFactory.cs
- KnownTypesHelper.cs
- InvalidProgramException.cs
- HyperlinkAutomationPeer.cs
- Brush.cs
- TableDetailsRow.cs
- CqlIdentifiers.cs
- ApplicationException.cs
- CredentialCache.cs
- ReversePositionQuery.cs
- _WinHttpWebProxyDataBuilder.cs
- PageEventArgs.cs
- OdbcStatementHandle.cs
- X509Utils.cs
- ColumnMap.cs
- SqlTriggerContext.cs
- MsmqBindingElementBase.cs
- WebPartDisplayMode.cs
- ToolStripDropDownClosingEventArgs.cs
- StringValueSerializer.cs
- XmlSchemaAnyAttribute.cs
- SymbolUsageManager.cs
- ToolStripDropDownItemDesigner.cs
- MessageQueueEnumerator.cs