/// <summary> /// Initialises the client endpoint. /// </summary> /// <param name="endpointUri">Service endpoint.</param> /// <param name="endpointConfigurationName">Configuration name.</param> /// <param name="signingCert">Header signing certificate.</param> /// <param name="tlsCert">TLS client certificate.</param> private void InitialiseClient(string endpointUri, string endpointConfigurationName, X509Certificate2 signingCert, X509Certificate2 tlsCert) { Validation.ValidateArgumentRequired("tlsCert", tlsCert); soapMessages = new SoapMessages(); GetChangeHistoryViewPortTypeClient client = null; if (!string.IsNullOrEmpty(endpointUri)) { EndpointAddress address = new EndpointAddress(endpointUri); CustomBinding tlsBinding = BindingHelper.CreateTlsBinding(); client = new GetChangeHistoryViewPortTypeClient(tlsBinding, address); } else if (!string.IsNullOrEmpty(endpointConfigurationName)) { client = new GetChangeHistoryViewPortTypeClient(endpointConfigurationName); } if (client != null) { PCEHREndpointProcessor.ProcessEndpoint(client.Endpoint, signingCert, soapMessages); if (tlsCert != null) { client.ClientCredentials.ClientCertificate.Certificate = tlsCert; } changeHistoryClient = client; } }
/// <summary> /// Initialises the client endpoint. /// </summary> /// <param name="endpointUri">Service endpoint.</param> /// <param name="endpointConfigurationName">Configuration name.</param> /// <param name="signingCert">Header signing certificate.</param> /// <param name="tlsCert">TLS client certificate.</param> private void InitialiseClient(string endpointUri, string endpointConfigurationName, X509Certificate2 signingCert, X509Certificate2 tlsCert) { // Validation.ValidateArgumentRequired("signingCert", signingCert); Validation.ValidateArgumentRequired("tlsCert", tlsCert); soapMessages = new SoapMessages(); DocumentRepository_PortTypeClient client = null; if (!string.IsNullOrEmpty(endpointUri)) { var address = new EndpointAddress(endpointUri); var mtomBinding = BindingHelper.CreateMtomTlsBinding(); client = new DocumentRepository_PortTypeClient(mtomBinding, address); } else if (!string.IsNullOrEmpty(endpointConfigurationName)) { client = new DocumentRepository_PortTypeClient(endpointConfigurationName); } if (client != null) { PCEHREndpointProcessor.ProcessEndpoint(client.Endpoint, signingCert, soapMessages); if (tlsCert != null) { client.ClientCredentials.ClientCertificate.Certificate = tlsCert; } repositoryClient = client; } }