/// <summary> /// Returns servicemetadata from SML - Service Metadata Locator (lookup receiver, get AP-address and AP-certificates) /// See also http://www.peppol.eu/peppol_components/-transport-infrastructure/main-components/the-peppol-central-registry /// </summary> /// <param name="createRequest"></param> /// <returns>ServiceMetadata (address of access point and public server certificate)</returns> public ServiceMetadata GetServiceMetadataFromSML(CreateRequest createRequest) { try { if (createRequest == null) { throw new ArgumentNullException("createRequest", "createRequest cannot be null whne looking up servicemetadata"); } Log.InfoFormat("Looking up servicemetadata from request {0}", createRequest.MessageIdentifier); var metadata = ServiceMetadata.FromSml(DefaultSmlDomain, createRequest); Log.InfoFormat("Metadata lookup OK. Address: {0} Certificate: {1}", metadata.Address.AbsoluteUri, metadata.Certificate.FriendlyName); return(metadata); } catch (Exception exception) { Log.Error("Error getting servicemetadata from sml"); Log.Error(exception); throw; } }