If you find yourself trying to route through QuotaGuard from the Azure function App, we wanted to post this sample code as a possible solution.

var binding = new BasicHttpBinding();

binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;

//Wrap binding custombinding to route request through proxy with credential authentication
var customBinding = new CustomBinding(binding);
var httpElement = customBinding.Elements.Find<HttpTransportBindingElement>();
httpElement.ProxyAddress = new Uri(Environment.GetEnvironmentVariable(ProxyURL));
httpElement.ProxyAuthenticationScheme = AuthenticationSchemes.Basic;
httpElement.UseDefaultWebProxy = false;

using (var webClient = new TransparencyPlatformClient(customBinding, FinalEndpoint)
{
    webClient.ClientCredentials.ClientCertificate.Certificate = Certificate;
 
    webClient.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.PeerOrChainTrust;
    var xmlString = XmlString(xml);

    webClient.ClientCredentials.UserName.UserName = ProxyUserName;
    webClient.ClientCredentials.UserName.Password = ProxyPassword;

    webClient.sendMessage(YourMessage);;
 }


We hope this helps, as always, any questions, shoot us an email at Support.



If you have questions, or if this solution doesn’t work or fit your use case, please reach out to us at Support so we can help figure it out with you.


Working with sensitive data, like HIPAA, Financial, or Personally Identifiable Information (PII)? 
    Then you will want to check out our QuotaGuard Shield solution, it's the same as QuotaGuard Static, but with stronger end to end security for your requests. We can also help migrate current Static customers to Shield for free, just reach out to us at Support to request assistance.