I am using .net core and consumed a WCF service. When I pass Api key in header and call a service , it throws NullReferenceException error.
Below is the function I am using to call a service
public async void CallService(string reqdata, string partner)
{
BasicHttpBinding basicHttpBinding = null;
EndpointAddress endpointAddress = null;
ChannelFactory<IRequestChannel> factory = null;
QuoteEngineService.MarketingSoftwareClient service = new QuoteEngineService.MarketingSoftwareClient();
try
{
basicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
endpointAddress = new EndpointAddress(new Uri("https://Service-engine-dev.110apps.net/Package/TempSoftware.svc?wsdl"));
factory = new ChannelFactory<IRequestChannel>(basicHttpBinding, endpointAddress);
IRequestChannel channel = factory.CreateChannel();
HttpRequestMessageProperty httpRequestMessage = new HttpRequestMessageProperty();
string apikey = "OAvHGAAatytiZno";
httpRequestMessage.Headers.Add("apikey", apikey);
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestMessage;
service.OpenAsync();
var result2 = await service.PRequestAsync(reqedata, partner);
var data = result2;
}
catch(Exception e)
{
throw;
}
finally
{
if (service.State==System.ServiceModel.CommunicationState.Opened)
{
service.CloseAsync();
}
}
}
}
I am getting error at
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestMessage;