示例#1
0
 /// <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;
     }
 }