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
- XmlDocument.cs
- RenderingEventArgs.cs
- AvTraceFormat.cs
- WrappedReader.cs
- TargetParameterCountException.cs
- NativeMethods.cs
- AspNetPartialTrustHelpers.cs
- HandlerWithFactory.cs
- FontFamilyValueSerializer.cs
- EventLogException.cs
- MemberPath.cs
- ISCIIEncoding.cs
- ProvidePropertyAttribute.cs
- StoryFragments.cs
- AttachedPropertiesService.cs
- PathGradientBrush.cs
- FixedStringLookup.cs
- DecimalConstantAttribute.cs
- Attribute.cs
- AnimationLayer.cs
- ZeroOpNode.cs
- SynchronizationScope.cs
- ECDiffieHellmanCng.cs
- ContentFileHelper.cs
- HttpServerUtilityWrapper.cs
- NewItemsContextMenuStrip.cs
- WindowsBrush.cs
- ParseNumbers.cs
- ConstNode.cs
- SecureUICommand.cs
- UseManagedPresentationBindingElementImporter.cs
- ManifestResourceInfo.cs
- Point4DValueSerializer.cs
- AnnotationService.cs
- SchemaMapping.cs
- HttpResponseInternalWrapper.cs
- LocalBuilder.cs
- ClassDataContract.cs
- RadioButton.cs
- AvtEvent.cs
- GenericPrincipal.cs
- ReadOnlyDictionary.cs
- WebPartTransformer.cs
- StaticResourceExtension.cs
- XamlFilter.cs
- RayHitTestParameters.cs
- GradientStopCollection.cs
- EntityModelSchemaGenerator.cs
- BinaryObjectReader.cs
- VoiceInfo.cs
- RenamedEventArgs.cs
- SqlServer2KCompatibilityAnnotation.cs
- SqlDataSourceEnumerator.cs
- ParentUndoUnit.cs
- FrameworkElementFactory.cs
- TimestampInformation.cs
- ReturnValue.cs
- DataKey.cs
- LocalizabilityAttribute.cs
- TypeBuilder.cs
- OleCmdHelper.cs
- TextMarkerSource.cs
- RelatedEnd.cs
- codemethodreferenceexpression.cs
- Site.cs
- CodeMethodInvokeExpression.cs
- PkcsMisc.cs
- WebPartConnectionsDisconnectVerb.cs
- SqlTypeSystemProvider.cs
- EventItfInfo.cs
- UrlMappingsSection.cs
- ToolStripSystemRenderer.cs
- MatrixAnimationBase.cs
- WebConfigurationManager.cs
- WeakRefEnumerator.cs
- SimpleMailWebEventProvider.cs
- ipaddressinformationcollection.cs
- HTTPRemotingHandler.cs
- WebBrowserNavigatedEventHandler.cs
- ServiceContractViewControl.cs
- XdrBuilder.cs
- TemplateControl.cs
- MenuAdapter.cs
- DoubleSumAggregationOperator.cs
- ImageSourceConverter.cs
- EmulateRecognizeCompletedEventArgs.cs
- CompatibleIComparer.cs
- SmiEventStream.cs
- TemplateBuilder.cs
- StyleCollection.cs
- HeaderedItemsControl.cs
- WindowsImpersonationContext.cs
- SafeFileHandle.cs
- SchemaDeclBase.cs
- TdsValueSetter.cs
- invalidudtexception.cs
- StateRuntime.cs
- XmlNamespaceMapping.cs
- NameValueConfigurationElement.cs
- COM2PropertyBuilderUITypeEditor.cs