Как написать клиентскую часть для мыла в c # - PullRequest
1 голос
/ 30 марта 2019

У меня есть файл проекта, который я протестировал с помощью SOAP UI.

enter image description here

Теперь я хотел написать на стороне клиента, поэтому, просматривая это решение , я попытался заставить все работать. Но у меня проблема.

В решении упоминаются URL и action. У меня есть URL, но я не уверен, какой у меня action URL. Поэтому я ставлю оба одинаковых.

var _url = "http://111.111.111.1:111/HES/services/DoCommandRequest";
        var _action = "http://111.111.111.1:111/HES/services/DoCommandRequest";

 XmlDocument soapEnvelopeXml = CreateSoapEnvelope();
        HttpWebRequest webRequest = CreateWebRequest(_url, _action);
        InsertSoapEnvelopeIntoWebRequest(soapEnvelopeXml, webRequest);

        // begin async call to web request.
        IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null);

        // suspend this thread until call is complete. You might want to
        // do something usefull here like update your UI.
        asyncResult.AsyncWaitHandle.WaitOne();

        // get the response from the completed web request.
        string soapResult;
        using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult))
        {
            using (StreamReader rd = new StreamReader(webResponse.GetResponseStream()))
            {
                soapResult = rd.ReadToEnd();
            }
            Console.Write(soapResult);
        }

После запуска моего кода я получаю исключение на using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult)), которое говорит

System.Net.WebException {"Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера."}

Я считаю, что с моим action есть какая-то проблема, но я не уверен.

Любая помощь будет принята с благодарностью.

...