Отправка XML-информации через SOAP в C # с WSDL

#c# #xml #api #soap #wsdl

#c# #xml #API #soap #wsdl

Вопрос:

Я совершенно новичок в этом, я даже не знал о SOAP, не говоря уже о WSDL, до этого, но здесь мы идем. Моя задача — проанализировать некоторую информацию об имени пользователя из JSON API, а затем отправить эту информацию обратно через SOAP-сообщение с помощью WSDL.

У меня есть первая часть (на данный момент у меня есть имя пользователя, только что записанное в консоли), у меня есть все имена пользователей.

Код пока:

 static void Main(string[] args)
{
    Uri apiUri = new Uri("https://xxxxxxxxxxxx.com/services/comex/v2/uman/users");
    WebRequest webRequest = HttpWebRequest.Create(apiUri);

    HttpWebRequest httpWebRequest = (HttpWebRequest)webRequest;

    NetworkCredential networkCredentials = new NetworkCredential("xxxx", "xxxx");

    CredentialCache myCredentialCache = new CredentialCache();
    myCredentialCache.Add(apiUri, "Basic", networkCredentials);

    httpWebRequest.PreAuthenticate = true;
    httpWebRequest.Credentials = myCredentialCache;

    WebResponse webResponse = webRequest.GetResponse();
    Stream responseStream = webResponse.GetResponseStream();

    StreamReader streamReader = new StreamReader(responseStream, Encoding.Default);

    string serializedJson = streamReader.ReadToEnd();

    DeserializedJson deserializedJson = JsonConvert.DeserializeObject<DeserializedJson>(serializedJson);

    foreach (var row in deserializedJson.result)
    {
        Console.WriteLine(row.usern);
    }

    responseStream.Close();
    webResponse.Close();
}

public class Result
{
    public string usern { get; set; }
}

public class DeserializedJson
{
    public List<Result> result { get; set; }
}
  

У меня есть файл WSDL в виде отдельного файла, который я смог добавить в качестве ссылки на службу в свой проект.
Мне предоставлен URL-адрес «https://xxxxxxxx.com/Services/Wdx/Wdx.svc/apikey » и API-ключ. Я действительно не уверен, что делать с этой информацией.
Должен ли я отправлять запрос SOAP и включать ключ api в тело? Что насчет пакета данных, как мне включить 4 имени пользователей в качестве XML?

Я действительно ищу некоторую общую информацию, в то время как я просматриваю десятки других источников о том, как работает SOAP, но мне действительно сложно разобраться за такое короткое время (1 день) Любые советы приветствуются.

Комментарии:

1. Похоже, вы попали в незавидное положение! Я бы сначала посоветовал вам не слишком беспокоиться о «SOAP» или «XML» как таковых; если вы добавили ссылку на службу в свое решение, тогда вы сможете создать экземпляр клиента в своем коде, который сможет позаботиться о сериализации и форматировании для вас. Если вы добавили ссылку на службу «XXXXX», то должен был быть создан класс с именем «XXXXXClient», в котором будут доступны некоторые операции, определенные в предоставленном вам WSDL. Надеюсь, это укажет вам правильное общее направление!