Вызов службы WCF c # - PullRequest
       2

Вызов службы WCF c #

0 голосов
/ 22 июня 2019

Я вызываю стороннюю службу в приложении MVC, где она работает, если я передаю значения в конечную точку в web.config

<endpoint address="address of svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IETDocService" contract="EDocService.IETDocService" name="BasicHttpBinding_IETDocService">
        <headers>
          <UserNameHeader xmlns="urn:-----" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
           <UserName xmlns="http://schemas.datacontract.org/2007/08/FT.DHM">john.cena@dmh.com</UserName>
            <Password xmlns="http://schemas.datacontract.org/2007/08/FT.DHM">32d698cf-51t5-4080-6d44-143e4432df73</Password>
          </UserNameHeader>
        </headers>
      </endpoint>

Эта конфигурация работает нормально, теперь мне нужно передать имя пользователяи пароль динамически, но он не работает, ниже приведен код, который я пробовал,

Попробуйте 1

var endAdd = new EndpointAddressBuilder(loginService.Endpoint.Address);

            endAdd.Headers.Add(AddressHeader.CreateAddressHeader("UserName",                                                             string.Empty,   
                                                                request.UserName));
            endAdd.Headers.Add(AddressHeader.CreateAddressHeader("Password", 
                                                                string.Empty,   
                                                                request.Pwd));  

            loginService.Endpoint.Address = endAdd.ToEndpointAddress();

Попробуйте 2

ctWcf.ClientCredentials.ClientCertificate.Certificate = this.MessageSigningCertificate;
            using (new OperationContextScope(ctWcf.InnerChannel))
            {

                UserInfo userInfo = new UserInfo();
                userInfo.UserName = "john.cena@dmh.com";
                userInfo.Password = "32d698cf-51t5-4080-6d44-143e4432df73";
                MessageHeader aMessageHeader = MessageHeader.CreateHeader("UserNameHeader", "http://uddi.org", userInfo);
                OperationContext.Current.OutgoingMessageHeaders.Add(aMessageHeader);
            }

Невозможно вызватьсервис, ваша помощь очень ценится

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