Передача ссылки на заголовок сеанса в Soap в C# - PullRequest
0 голосов
/ 20 января 2020

Спасибо, что прочитали следующее.

Я использовал веб-сервис soap, добавив ссылку на сервис в C# poject. Теперь у меня есть доступ ко всем soap функциям, и одним из них является Login, который принимает Login (ref ConsoleApplication2.WS.SessionHeader SessionHeader, строка UserName, строка Password, bool AbortExistingSession)

Однако всякий раз, когда я вызываю эту функцию, она всегда возвращает false (я дважды проверяю mycredentials). Это мой пример кода

    static void Main(string[] args)
    {
        var remoteAddress = new System.ServiceModel.EndpointAddress("WebService URL");
        using (var s = new WebService1SoapClient(new System.ServiceModel.BasicHttpBinding(), remoteAddress))
        { 
            SessionHeader Session = new SessionHeader();
            var test = s.Login(ref Session , "username", "password", true);

        }

. Я использовал SoapUI для проверки этой функции, и при успешном завершении она возвращает значение true или false.

В SoapUI он также возвращал false, поэтому я редактирую заявку SOAPUI и удаляю тег sessionID, а после этого начинаю повторять идентификатор сессии и True.

****> **

  <SD:NjoynSessionHeader/>    </soapenv:Header>    <soapenv:Body>
  <SD:Login>
     <SD:pr_UserName>username</SD:pr_UserName>
     <SD:pr_Password>password</SD:pr_Password>
     <!--Optional:-->
     <SD:pr_AbortExistingSession>1</SD:pr_AbortExistingSession>
  </SD:Login>    </soapenv:Body> </soapenv:Envelope>******

Но все же в коде он просто всегда возвращает false и без идентификатора сеанса. Пожалуйста, дайте мне знать, если я что-то пропустил. Спасибо

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