protected virtual void WriteApplicationServiceDescriptorChildren(XmlDictionaryWriter writer, ApplicationServiceDescriptor applicationServiceDescriptor) { if (applicationServiceDescriptor == null) { return; } if (!applicationServiceDescriptor.ApplicationServiceEndpoint.Any()) { throw XmlWriterExceptionHelper.CreateRequiredChildElementMissingException(Saml2MetadataConstants.Elements.RoleDescriptor, applicationServiceDescriptor.GetXmlTypeName()); } WriteWebServiceDescriptorChildren(writer, applicationServiceDescriptor); foreach (var applicationServiceEndpoint in applicationServiceDescriptor.ApplicationServiceEndpoint) { WsAddressingSerializer.WriteEndpointReferenceCollection(writer, Prefix, Elements.ApplicationServiceEndpoint, Namespace, applicationServiceEndpoint); } foreach (var singleSignOutNotificationEndpoint in applicationServiceDescriptor.SingleSignOutNotificationEndpoint) { WsAddressingSerializer.WriteEndpointReferenceCollection(writer, Prefix, Elements.SingleSignOutNotificationEndpoint, Namespace, singleSignOutNotificationEndpoint); } foreach (var passiveRequestorEndpoint in applicationServiceDescriptor.PassiveRequestorEndpoint) { WsAddressingSerializer.WriteEndpointReferenceCollection(writer, Prefix, Elements.PassiveRequestorEndpoint, Namespace, passiveRequestorEndpoint); } }
public virtual void WriteEndpointReference(XmlDictionaryWriter writer, EndpointReference endpointReference) { if (endpointReference == null) { return; } writer.WriteStartElement(Elements.EndpointReference, Namespace); if (!writer.TryWriteElementValue(Elements.Address, Namespace, endpointReference.Address)) { throw XmlWriterExceptionHelper.CreateRequiredChildElementMissingException(Elements.EndpointReference, Elements.Address); } writer.WriteEndElement(); }