Исходя из моего опыта, очень легко проектировать и создавать приложения для Windows Phone с помощью веб-сервисов RESTful. В ситуации, когда у вас есть только веб-службы SOAP XML для работы, вам потребуется выполнить некоторую работу в приложении, чтобы подготовить запрос, отправить его и проанализировать ответ.
Вы можете сохранить URL-адрес веб-службы в виде строки "template", например, так: *
string wsUrlTemplate = "http://mywebservice.com/{0}/servicedosomething";
Когда вы собираетесь отправить запрос, просто отформатируйте строку -
string wsUrl = string.Format(wsUrlTemplate, webServiceID);
Если у вас есть формат запроса SOAP XML, сохраните его как шаблон. Когда вам нужно выполнить запрос, замените заполнители фактическими значениями и отправьте запрос (с опцией POST, если это то, что ожидают веб-службы). Типичный шаблон запроса SOAP XML может выглядеть следующим образом -
string xmlRequestTemplate = "
<?xml version="1.0" encoding="utf-8" ?>
<Customer>
<CustomerID>{0}</Customer>
</Customer>"
Чтобы подготовить XML-запрос, вы применяете тот же подход, что и выше, - формат строки xmlRequestTemplate и добавьте CustomerID. Для выдачи запроса используйте HttpWebRequest для асинхронной выдачи запроса и в обработчике ответа проанализируйте XML-ответ.
var request = HttpWebRequest.Create(wsUrl);
var result = (IAsyncResult)request.BeginGetResponse(ResponseCallback, request);
private void ResponseCallback(IAsyncResult result)
{
var request = (HttpWebRequest)result.AsyncState;
var response = request.EndGetResponse(result);
using (var stream = response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
var contents = reader.ReadToEnd();
// Parse the XML response
}
}
Надеюсь, это даст вам некоторые идеи для продолжения.
indyfromoz