Как читать / анализировать запрос заголовка soap в службе WCF, созданной в Net Core 3.1 - PullRequest
1 голос
/ 05 мая 2020

Я создал службу po c WCF и могу вызвать эту службу, используя SOAP UI или Postman. Но для некоторых проектных работ мне нужно проанализировать приведенный ниже soap заголовок безопасности

SOAP Заголовок

<soapenv:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:UsernameToken wsu:Id="UsernameToken-5351BA8068B753C930158868612679914"><wsse:Username>test user</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">CS++k5OEqKsJByVPPmUqcBkAeoQ=</wsse:Password><wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">VK+Ilb/zy80lFbfHAAQupg==</wsse:Nonce><wsu:Created>2020-05-05T13:42:06.798Z</wsu:Created></wsse:UsernameToken></wsse:Security></soapenv:Header>

файл startup.cs выглядит следующим образом

public class Startup
    {
            public void ConfigureServices(IServiceCollection services)
             {

             services.AddScoped<ITestService, TestService>();          
             services.AddSoapServiceOperationTuner(new ServiceOperationTuner());
            }
 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {

            var binding = new BasicHttpBinding();
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Digest;
            app.UseSoapEndpoint<ITestService>("/Service.svc", binding, SoapSerializer.DataContractSerializer);
        }
}

Класс ServiceOperationTuner.cs содержит код для получения объекта HttpContext, как показано ниже. Здесь метод Tune будет вызываться для любого запроса к службе WCF

public void Tune(HttpContext httpContext, object serviceInstance, OperationDescription operation)
        {
}

объект httpContext содержит все детали заголовка, но не заголовок soapenv:

Может ли кто-нибудь помочь мне разобрать этот soapenv : Заголовок запроса в. Net core? Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...