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
- DesignerDataColumn.cs
- IssuedSecurityTokenProvider.cs
- DataGridCellAutomationPeer.cs
- DbConvert.cs
- ClientBuildManager.cs
- SimpleType.cs
- RegexNode.cs
- AuthenticateEventArgs.cs
- InitializationEventAttribute.cs
- FromReply.cs
- ScrollEventArgs.cs
- CommandBinding.cs
- ColorConvertedBitmapExtension.cs
- NavigationProgressEventArgs.cs
- FontInfo.cs
- ImageListUtils.cs
- PackageRelationship.cs
- HandleExceptionArgs.cs
- ConfigurationManagerHelperFactory.cs
- SemanticTag.cs
- XsdBuildProvider.cs
- HttpTransportSecurity.cs
- Accessible.cs
- ZoneMembershipCondition.cs
- HttpResponseInternalWrapper.cs
- AppDomainUnloadedException.cs
- IdentifierService.cs
- CodeEventReferenceExpression.cs
- Queue.cs
- EngineSiteSapi.cs
- ToolStripDropDownButton.cs
- WCFBuildProvider.cs
- DiscoveryVersionConverter.cs
- InsufficientMemoryException.cs
- RelationshipEndMember.cs
- ListBoxItem.cs
- ResourcePool.cs
- DataSourceXmlClassAttribute.cs
- Int32Rect.cs
- ArrangedElementCollection.cs
- InstanceOwner.cs
- BackgroundWorker.cs
- XmlTypeAttribute.cs
- SolidColorBrush.cs
- StringExpressionSet.cs
- PtsHost.cs
- BaseServiceProvider.cs
- SerializationInfo.cs
- RedirectionProxy.cs
- NumericUpDownAcceleration.cs
- ThreadExceptionDialog.cs
- TopClause.cs
- HtmlTextViewAdapter.cs
- SemanticResultValue.cs
- OutputCacheSettingsSection.cs
- ReplacementText.cs
- MatrixAnimationUsingKeyFrames.cs
- CreateParams.cs
- PermissionSetEnumerator.cs
- EntityConnection.cs
- OperatingSystem.cs
- ISFClipboardData.cs
- IdentityNotMappedException.cs
- TaskFileService.cs
- OdbcFactory.cs
- XmlElement.cs
- PersianCalendar.cs
- SparseMemoryStream.cs
- HttpContextServiceHost.cs
- FileSystemWatcher.cs
- TraceFilter.cs
- HttpContext.cs
- GenericUriParser.cs
- XmlNamespaceManager.cs
- PriorityQueue.cs
- ControlCollection.cs
- ContextMenuStripGroupCollection.cs
- SessionEndingCancelEventArgs.cs
- TransactionScope.cs
- StrongTypingException.cs
- DataFieldConverter.cs
- ILGenerator.cs
- ClientBuildManager.cs
- SqlStatistics.cs
- Util.cs
- FullTextState.cs
- EntityExpressionVisitor.cs
- SqlTransaction.cs
- ComboBoxRenderer.cs
- PackageRelationshipCollection.cs
- OpenTypeLayoutCache.cs
- BaseValidator.cs
- UpdatePanelTrigger.cs
- DataTemplate.cs
- ResolveResponse.cs
- TreeWalkHelper.cs
- TemplateField.cs
- FillErrorEventArgs.cs
- ComponentCollection.cs
- QilFactory.cs