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
- SoapDocumentServiceAttribute.cs
- ObjectTag.cs
- TableLayoutStyle.cs
- XmlSchemaIdentityConstraint.cs
- ByteKeyFrameCollection.cs
- RawTextInputReport.cs
- NonSerializedAttribute.cs
- InkPresenter.cs
- ConfigurationFileMap.cs
- FieldBuilder.cs
- ADConnectionHelper.cs
- TextSelectionHighlightLayer.cs
- FusionWrap.cs
- JournalEntryStack.cs
- PassportPrincipal.cs
- XmlName.cs
- FontClient.cs
- SqlDataSourceFilteringEventArgs.cs
- FormatterServices.cs
- CommandPlan.cs
- DataStreams.cs
- BuildProviderCollection.cs
- ServiceInfo.cs
- DataBoundControlAdapter.cs
- HttpCacheVary.cs
- ConfigurationElementCollection.cs
- ChannelManager.cs
- VirtualizedItemProviderWrapper.cs
- Point3D.cs
- AudioBase.cs
- SchemaNames.cs
- UTF8Encoding.cs
- unsafenativemethodsother.cs
- FunctionDescription.cs
- LinqDataSourceValidationException.cs
- AsyncStreamReader.cs
- ExceptionList.cs
- MediaContextNotificationWindow.cs
- XPathDocumentBuilder.cs
- TextEditorSelection.cs
- BooleanProjectedSlot.cs
- storepermissionattribute.cs
- EditorZoneBase.cs
- TraceSource.cs
- RNGCryptoServiceProvider.cs
- TimeZone.cs
- WebScriptMetadataMessageEncoderFactory.cs
- UnionCodeGroup.cs
- DataGridViewSelectedColumnCollection.cs
- Matrix3DValueSerializer.cs
- LinkButton.cs
- SchemaTypeEmitter.cs
- ObjRef.cs
- FixedHighlight.cs
- SQLSingleStorage.cs
- StreamUpdate.cs
- Variable.cs
- FormViewUpdatedEventArgs.cs
- StringFormat.cs
- MessageRpc.cs
- TreeNodeBindingCollection.cs
- DbConnectionPoolIdentity.cs
- Speller.cs
- LogSwitch.cs
- RuntimeConfigurationRecord.cs
- QueueProcessor.cs
- GridViewCommandEventArgs.cs
- AudioLevelUpdatedEventArgs.cs
- HttpEncoderUtility.cs
- PrintDocument.cs
- ItemCheckedEvent.cs
- SmtpFailedRecipientException.cs
- SqlDataReader.cs
- IdentityNotMappedException.cs
- ManagementScope.cs
- Socket.cs
- FileChangesMonitor.cs
- IsolatedStorageFilePermission.cs
- BaseCAMarshaler.cs
- SqlParameterizer.cs
- SourceElementsCollection.cs
- QilTypeChecker.cs
- PersonalizableTypeEntry.cs
- ConfigurationSettings.cs
- KeyValueSerializer.cs
- SemaphoreFullException.cs
- PriorityBinding.cs
- CompilationLock.cs
- HttpListenerTimeoutManager.cs
- UInt32.cs
- TextTabProperties.cs
- BreakRecordTable.cs
- TileBrush.cs
- ReadOnlyCollection.cs
- NavigationEventArgs.cs
- PerformanceCounterPermission.cs
- PaperSource.cs
- MessageQueuePermissionAttribute.cs
- LockCookie.cs
- Bidi.cs