Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / MustUnderstandSoapException.cs / 1 / MustUnderstandSoapException.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel { using System; using System.Xml; using System.Text; using System.Globalization; using System.Collections.ObjectModel; using System.ServiceModel.Channels; using System.Runtime.Serialization; [Serializable] internal class MustUnderstandSoapException : CommunicationException { // for serialization public MustUnderstandSoapException() { } protected MustUnderstandSoapException(SerializationInfo info, StreamingContext context) : base(info, context) { } CollectionnotUnderstoodHeaders; EnvelopeVersion envelopeVersion; public MustUnderstandSoapException(Collection notUnderstoodHeaders, EnvelopeVersion envelopeVersion) { this.notUnderstoodHeaders = notUnderstoodHeaders; this.envelopeVersion = envelopeVersion; } public Collection NotUnderstoodHeaders { get { return this.notUnderstoodHeaders; } } public EnvelopeVersion EnvelopeVersion { get { return this.envelopeVersion; } } internal Message ProvideFault(MessageVersion messageVersion) { string name = this.notUnderstoodHeaders[0].Name; string ns = this.notUnderstoodHeaders[0].Namespace; FaultCode code = new FaultCode(MessageStrings.MustUnderstandFault, this.envelopeVersion.Namespace); FaultReason reason = new FaultReason(SR.GetString(SR.SFxHeaderNotUnderstood, name, ns), CultureInfo.CurrentCulture); MessageFault fault = MessageFault.CreateFault(code, reason); string faultAction = messageVersion.Addressing.DefaultFaultAction; Message message = System.ServiceModel.Channels.Message.CreateMessage(messageVersion, fault, faultAction); if (this.envelopeVersion == EnvelopeVersion.Soap12) { this.AddNotUnderstoodHeaders(message.Headers); } return message; } void AddNotUnderstoodHeaders(MessageHeaders headers) { for (int i = 0; i < notUnderstoodHeaders.Count; ++i) { headers.Add(new NotUnderstoodHeader(notUnderstoodHeaders[i].Name, notUnderstoodHeaders[i].Namespace)); } } class NotUnderstoodHeader : MessageHeader { string notUnderstoodName; string notUnderstoodNs; public NotUnderstoodHeader(string name, string ns) { this.notUnderstoodName = name; this.notUnderstoodNs = ns; } public override string Name { get { return Message12Strings.NotUnderstood; } } public override string Namespace { get { return Message12Strings.Namespace; } } protected override void OnWriteStartHeader(XmlDictionaryWriter writer, MessageVersion messageVersion) { writer.WriteStartElement(this.Name, this.Namespace); writer.WriteXmlnsAttribute(null, notUnderstoodNs); writer.WriteStartAttribute(Message12Strings.QName); writer.WriteQualifiedName(notUnderstoodName, notUnderstoodNs); writer.WriteEndAttribute(); } protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion) { // empty } } } } // 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
- DayRenderEvent.cs
- FormsAuthenticationUserCollection.cs
- LinqDataSource.cs
- HttpListenerElement.cs
- Metadata.cs
- CodeArrayIndexerExpression.cs
- ContentElementAutomationPeer.cs
- DesignRelationCollection.cs
- SqlNamer.cs
- StrongNameMembershipCondition.cs
- DataGridToolTip.cs
- _ListenerResponseStream.cs
- MediaTimeline.cs
- ImmutableObjectAttribute.cs
- HostSecurityManager.cs
- ObjectKeyFrameCollection.cs
- BooleanConverter.cs
- EventSetterHandlerConverter.cs
- PreservationFileWriter.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ScrollViewer.cs
- Imaging.cs
- SimpleWebHandlerParser.cs
- FontFamilyValueSerializer.cs
- SharedPersonalizationStateInfo.cs
- BadImageFormatException.cs
- DataPagerField.cs
- DisplayNameAttribute.cs
- TextTreeText.cs
- Storyboard.cs
- ReferentialConstraint.cs
- OpacityConverter.cs
- Button.cs
- ContainerParagraph.cs
- SchemaMapping.cs
- TargetParameterCountException.cs
- WindowsGrip.cs
- ApplicationDirectory.cs
- ValidatingReaderNodeData.cs
- HScrollBar.cs
- EnumDataContract.cs
- UnsettableComboBox.cs
- ResourceIDHelper.cs
- SafePointer.cs
- SqlDelegatedTransaction.cs
- SplineQuaternionKeyFrame.cs
- ListBoxItem.cs
- UIPropertyMetadata.cs
- XmlException.cs
- CodeAccessPermission.cs
- ContextQuery.cs
- HtmlInputControl.cs
- MeshGeometry3D.cs
- PackWebRequestFactory.cs
- UnsafeNativeMethodsCLR.cs
- SafeFindHandle.cs
- UpdatePanel.cs
- SerializationStore.cs
- BinaryFormatterWriter.cs
- CommandField.cs
- Msec.cs
- UniqueID.cs
- Rotation3D.cs
- CommonServiceBehaviorElement.cs
- PasswordBoxAutomationPeer.cs
- WCFModelStrings.Designer.cs
- WebPartMenu.cs
- RowBinding.cs
- Literal.cs
- QilScopedVisitor.cs
- Stackframe.cs
- XmlSchemaImport.cs
- XLinq.cs
- HtmlInputButton.cs
- Activator.cs
- Stroke.cs
- Message.cs
- WmlMobileTextWriter.cs
- Executor.cs
- TabPage.cs
- WsatAdminException.cs
- XmlSchemaSimpleTypeList.cs
- Logging.cs
- SecondaryViewProvider.cs
- CustomSignedXml.cs
- RegistryPermission.cs
- PopupEventArgs.cs
- MulticastDelegate.cs
- ContextQuery.cs
- EventSetter.cs
- SafeNativeMethods.cs
- QilValidationVisitor.cs
- TypeResolver.cs
- WebBrowserHelper.cs
- Deserializer.cs
- ClusterRegistryConfigurationProvider.cs
- BrushMappingModeValidation.cs
- Material.cs
- BitConverter.cs