//public static EndpointAddress ReadFrom(XmlDictionaryReader reader, XmlDictionaryString localName, XmlDictionaryString ns) //{ // AddressingVersion version; // return ReadFrom(reader, localName, ns, out version); //} internal static EndpointAddress ReadFrom(XmlDictionaryReader reader, XmlDictionaryString localName, XmlDictionaryString ns, out AddressingVersion version) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(reader)); } reader.ReadFullStartElement(localName, ns); reader.MoveToContent(); if (reader.IsNamespaceUri(AddressingVersion.WSAddressing10.DictionaryNamespace)) { version = AddressingVersion.WSAddressing10; } //else if (reader.IsNamespaceUri(AddressingVersion.WSAddressingAugust2004.DictionaryNamespace)) //{ // version = AddressingVersion.WSAddressingAugust2004; //} else if (reader.NodeType != XmlNodeType.Element) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument( "reader", SR.CannotDetectAddressingVersion); } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument( "reader", SR.Format(SR.AddressingVersionNotSupported, reader.NamespaceURI)); } EndpointAddress ea = ReadFromDriver(version, reader); reader.ReadEndElement(); return(ea); }
EndpointAddress(AddressingVersion version, Uri uri, EndpointIdentity identity, AddressHeaderCollection headers, XmlBuffer buffer, int metadataSection, int extensionSection, int pspSection) { Init(version, uri, identity, headers, buffer, metadataSection, extensionSection, pspSection); }
public void WriteContentsTo(AddressingVersion addressingVersion, XmlWriter writer) { XmlDictionaryWriter dictionaryWriter = XmlDictionaryWriter.CreateDictionaryWriter(writer); WriteContentsTo(addressingVersion, dictionaryWriter); }
public void WriteTo(AddressingVersion addressingVersion, XmlDictionaryWriter writer) { WriteTo(addressingVersion, writer, XD.AddressingDictionary.EndpointReference, addressingVersion.DictionaryNamespace); }
internal static void AddAddressToWsdlPort(Port wsdlPort, EndpointAddress addr, AddressingVersion addressing) { if (addressing == AddressingVersion.None) { return; } MemoryStream memoryStream = new MemoryStream(); XmlWriter xmlWriter = XmlWriter.Create(memoryStream); xmlWriter.WriteStartElement("temp"); if (addressing != AddressingVersion.WSAddressing10) { if (addressing != AddressingVersion.WSAddressingAugust2004) { throw Microsoft.ServiceBus.Messaging.FxTrace.Exception.AsError(new InvalidOperationException(string.Concat("This addressing version is not supported: ", addressing.ToString())), null); } xmlWriter.WriteAttributeString("xmlns", "wsa", null, "http://schemas.xmlsoap.org/ws/2004/08/addressing"); } else { xmlWriter.WriteAttributeString("xmlns", "wsa10", null, "http://www.w3.org/2005/08/addressing"); } addr.WriteTo(addressing, xmlWriter); xmlWriter.WriteEndElement(); xmlWriter.Flush(); memoryStream.Seek((long)0, SeekOrigin.Begin); XmlReader xmlReader = XmlReader.Create(memoryStream); xmlReader.MoveToContent(); XmlElement itemOf = (XmlElement)WSAddressingHelper.XmlDoc.ReadNode(xmlReader).ChildNodes[0]; wsdlPort.Extensions.Add(itemOf); }
private static void AddAddressToWsdlPort(WsdlNS.Port wsdlPort, EndpointAddress endpointAddress, AddressingVersion addressing) { if (addressing == AddressingVersion.None) { return; } MemoryStream memoryStream = new MemoryStream(); XmlWriter xmlWriter = XmlWriter.Create(memoryStream); xmlWriter.WriteStartElement("temp"); if (addressing == AddressingVersion.WSAddressing10) { xmlWriter.WriteAttributeString("xmlns", "wsa10", null, AddressingVersionConstants.WSAddressing10NameSpace); } else if (addressing == AddressingVersion.WSAddressingAugust2004) { xmlWriter.WriteAttributeString("xmlns", "wsa", null, AddressingVersionConstants.WSAddressingAugust2004NameSpace); } else { throw new InvalidOperationException("This addressing version is not supported:\n" + addressing.ToString()); } endpointAddress.WriteTo(addressing, xmlWriter); xmlWriter.WriteEndElement(); xmlWriter.Flush(); memoryStream.Seek(0, SeekOrigin.Begin); XmlReader xmlReader = XmlReader.Create(memoryStream); xmlReader.MoveToContent(); XmlElement endpointReference = (XmlElement)XmlDoc.ReadNode(xmlReader).ChildNodes[0]; wsdlPort.Extensions.Add(endpointReference); }
private AddressingVersionExtension(AddressingVersion version) { _version = version; }
public void WriteTo( AddressingVersion addressingVersion, XmlWriter writer) { WriteTo(addressingVersion, XmlDictionaryWriter.CreateDictionaryWriter(writer)); }
public static void MessageVersion_Verify_AddressingVersions_And_EnvelopeVersions(MessageVersion messageVersion, EnvelopeVersion envelopeVersion, AddressingVersion addressingVersion) { Assert.Equal <EnvelopeVersion>(envelopeVersion, messageVersion.Envelope); Assert.Equal <AddressingVersion>(addressingVersion, messageVersion.Addressing); }
public static void Activate(AddressingVersion version) { OperationContextProxy.Current.AddExtension(new AddressingVersionExtension(version)); }
public MessageInspector(AddressingVersion version) { _version = version; }
public MetadataReference(EndpointAddress address, AddressingVersion addressVersion) { this.address = address; this.addressVersion = addressVersion; }
internal static void AddWSAddressingAssertion(MetadataExporter exporter, PolicyConversionContext context, AddressingVersion addressVersion) { XmlElement xmlElement; string str; if (addressVersion == AddressingVersion.WSAddressingAugust2004) { xmlElement = WSAddressingHelper.XmlDoc.CreateElement("wsap", "UsingAddressing", "http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"); } else if (addressVersion != AddressingVersion.WSAddressing10) { if (addressVersion != AddressingVersion.None) { throw Microsoft.ServiceBus.Messaging.FxTrace.Exception.AsError(new InvalidOperationException(string.Concat("This addressing version is not supported: ", addressVersion.ToString())), null); } xmlElement = null; } else if (exporter.PolicyVersion != PolicyVersion.Policy12) { xmlElement = WSAddressingHelper.XmlDoc.CreateElement("wsam", "Addressing", "http://www.w3.org/2007/05/addressing/metadata"); SupportedAddressingMode item = SupportedAddressingMode.Anonymous; string name = typeof(SupportedAddressingMode).Name; if (exporter.State.ContainsKey(name) && exporter.State[name] as SupportedAddressingMode != SupportedAddressingMode.Anonymous) { item = (SupportedAddressingMode)exporter.State[name]; } if (item != SupportedAddressingMode.Mixed) { str = (item != SupportedAddressingMode.Anonymous ? "NonAnonymousResponses" : "AnonymousResponses"); XmlElement xmlElement1 = WSAddressingHelper.XmlDoc.CreateElement("wsp", "Policy", "http://www.w3.org/ns/ws-policy"); XmlElement xmlElement2 = WSAddressingHelper.XmlDoc.CreateElement("wsam", str, "http://www.w3.org/2007/05/addressing/metadata"); xmlElement1.AppendChild(xmlElement2); xmlElement.AppendChild(xmlElement1); } } else { xmlElement = WSAddressingHelper.XmlDoc.CreateElement("wsaw", "UsingAddressing", "http://www.w3.org/2006/05/addressing/wsdl"); } if (xmlElement != null) { context.GetBindingAssertions().Add(xmlElement); } }
public static EndpointAddress ReadFrom( AddressingVersion addressingVersion, XmlDictionaryReader reader) { return(ReadFrom(addressingVersion, (XmlReader)reader)); }
public override Collection <XmlElement> CreateWsspSupportingTokensAssertion(MetadataExporter exporter, Collection <SecurityTokenParameters> signed, Collection <SecurityTokenParameters> signedEncrypted, Collection <SecurityTokenParameters> endorsing, Collection <SecurityTokenParameters> signedEndorsing, Collection <SecurityTokenParameters> optionalSigned, Collection <SecurityTokenParameters> optionalSignedEncrypted, Collection <SecurityTokenParameters> optionalEndorsing, Collection <SecurityTokenParameters> optionalSignedEndorsing, AddressingVersion addressingVersion) { Collection <XmlElement> supportingTokenAssertions = new Collection <XmlElement>(); // Signed Supporting Tokens XmlElement supportingTokenAssertion = CreateWsspSignedSupportingTokensAssertion(exporter, signed, optionalSigned); if (supportingTokenAssertion != null) { supportingTokenAssertions.Add(supportingTokenAssertion); } // Signed Encrypted Supporting Tokens supportingTokenAssertion = CreateWsspSignedEncryptedSupportingTokensAssertion(exporter, signedEncrypted, optionalSignedEncrypted); if (supportingTokenAssertion != null) { supportingTokenAssertions.Add(supportingTokenAssertion); } // Endorsing Supporting Tokens. supportingTokenAssertion = CreateWsspEndorsingSupportingTokensAssertion(exporter, endorsing, optionalEndorsing, addressingVersion); if (supportingTokenAssertion != null) { supportingTokenAssertions.Add(supportingTokenAssertion); } // Signed Endorsing Supporting Tokens. supportingTokenAssertion = CreateWsspSignedEndorsingSupportingTokensAssertion(exporter, signedEndorsing, optionalSignedEndorsing, addressingVersion); if (supportingTokenAssertion != null) { supportingTokenAssertions.Add(supportingTokenAssertion); } return(supportingTokenAssertions); }
public void WriteTo( AddressingVersion addressingVersion, XmlDictionaryWriter writer) { WriteTo(addressingVersion, writer, "EndpointReference", addressingVersion.Namespace); }
public void WriteContentsTo( AddressingVersion addressingVersion, XmlDictionaryWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } #if MOBILE if (addressingVersion == AddressingVersion.None) { writer.WriteString(Uri.AbsoluteUri); } else { writer.WriteStartElement("Address", addressingVersion.Namespace); writer.WriteString(Uri.AbsoluteUri); writer.WriteEndElement(); } #else if (addressingVersion == AddressingVersion.None) { writer.WriteString(Uri.AbsoluteUri); } else { writer.WriteStartElement("Address", addressingVersion.Namespace); writer.WriteString(Uri.AbsoluteUri); writer.WriteEndElement(); if (Identity == null) { return; } if (Headers != null) { foreach (AddressHeader ah in Headers) { ah.WriteAddressHeader(writer); } } writer.WriteStartElement("Identity", Constants.WsaIdentityUri); X509CertificateEndpointIdentity x509 = Identity as X509CertificateEndpointIdentity; if (x509 != null) { KeyInfo ki = new KeyInfo(); KeyInfoX509Data x = new KeyInfoX509Data(); foreach (X509Certificate2 cert in x509.Certificates) { x.AddCertificate(cert); } ki.AddClause(x); ki.GetXml().WriteTo(writer); } else { DataContractSerializer ds = new DataContractSerializer(Identity.IdentityClaim.GetType()); ds.WriteObject(writer, Identity.IdentityClaim); } writer.WriteEndElement(); } #endif }
private string GetDefaultFaultAction(AddressingVersion addressing) { return((string)s_defaultFaultAction.GetValue(addressing)); }
static void Main(string[] args) { // <Snippet0> MessageVersion msgVersion = MessageVersion.Default; // </Snippet0> // <Snippet1> AddressingVersion addrVersion = msgVersion.Addressing; // </Snippet1> // <Snippet2> EnvelopeVersion envVersion = msgVersion.Envelope; // </Snippet2> // <Snippet3> msgVersion.ToString(); // </Snippet3> // <Snippet4> MessageVersion msgVersion2 = MessageVersion.None; // </Snippet4> // <Snippet5> msgVersion = MessageVersion.Soap11; // </Snippet5> // <Snippet6> msgVersion = MessageVersion.Soap11WSAddressing10; // </Snippet6> // <Snippet7> msgVersion = MessageVersion.Soap11WSAddressingAugust2004; // </Snippet7> // <Snippet8> msgVersion = MessageVersion.Soap12; // </Snippet8> // <Snippet9> msgVersion = MessageVersion.Soap12WSAddressing10; // </Snippet9> // <Snippet10> msgVersion = MessageVersion.Soap12WSAddressingAugust2004; // </Snippet10> // <Snippet11> msgVersion = MessageVersion.CreateVersion(envVersion); // </Snippet11> // <Snippet12> msgVersion = MessageVersion.CreateVersion(envVersion, addrVersion); // </Snippet12> // <Snippet13> msgVersion.Equals(msgVersion2); // </Snippet13> // <Snippet14> msgVersion.GetHashCode(); // </Snippet14> }