Jassim Rahma Ответов: 0

Потребляйте XML-сервис из кода позади


Привет,

Я пытаюсь использовать правительственный веб-сервис, чтобы получить адресную информацию.

Я попробовал ниже код, но он ничего не возвращает, хотя он отлично работает, когда я пробую его на моем WinForm при использовании Добавление Веб-Службы

Пример допустимого номера указан в прилагаемом проекте

1923578758


Что я уже пробовал:

Вот пример проекта:

https://www.jassimrahma.net/temp/XamarinMakani.zip[^]

и код, который я пробовал, находится здесь:

Я попробовал ниже, но не получилось:

private string ConstructSoapRequest(string a, string b)
{
    return String.Format(@"<?xml version=""1.0"" encoding=""utf-8""?>
    <s:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"">
        <s:Body>
            <Add xmlns=""http://CalculatorService/"">
                <a>{0}</a>
                {1}
            </Add>
        </s:Body>
    </s:Envelope>", a, b);
}

private async void GetMakani()
{
    var soapString = this.ConstructSoapRequest(EntryMakaniNumber.Text, "");

    string url = "https://www.makani.ae/MakaniPublicDataService/MakaniPublic.svc?singleWsdl";

    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("SOAPAction", url);

        var content = new StringContent(soapString, Encoding.UTF8, "text/xml");

        using (var response = await client.PostAsync("https://www.makani.ae/MakaniPublicDataService/MakaniPublic.svc?singleWsdl", content))
        {
            var soapResponse = await response.Content.ReadAsStringAsync();

            System.Diagnostics.Debug.WriteLine("MAKANI RESPONSE");
            System.Diagnostics.Debug.WriteLine("---------------");
            System.Diagnostics.Debug.WriteLine(soapResponse);
            System.Diagnostics.Debug.WriteLine("---------------");
            System.Diagnostics.Debug.WriteLine("MAKANI RESPONSE");
        }
    }

    LabelLatitude.Text = "Latitude: ";
    LabelLongitude.Text = "Longitude: ";
}

0 Ответов