У меня есть метод веб-сервиса, который описан следующим образом:
POST /servis.asmx HTTP/1.1
Host: webservice.myproject.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/MyMethod"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthHeader xmlns="http://tempuri.org/">
<Username>string</Username>
<Password>string</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<MyMethod xmlns="http://tempuri.org/" />
</soap:Body>
</soap:Envelope>
И я пытаюсь разработать приложение для Windows Phone 7, которое использует этот метод веб-сервиса. В Visual Studio я добавил ссылку на сервис в свой проект. Я создал объект клиента Webservice, как это делал на платформе .net, и создал объект AuthHeader и установил его имя пользователя и пароль. Следующий код не мой код, но он похож на мой:
AuthWebService.WebService webService = new AuthWebService.WebService();
AuthWebService.AuthHeader authentication = new AuthWebService.AuthHeader();
authentication.Username = "test";
authentication.Password = "test";
webService.AuthHeaderValue = authentication;
Но когда я пытаюсь установить заголовки служб, используя следующую строку кода:
webService.AuthHeaderValue = authentication;
это не работает. Объект webservice не имеет свойства AuthHeaderValue. Я пытался сделать это в настольном приложении или веб-приложении, но в приложении Windows Phone 7 этого не произошло.
У кого-нибудь есть предложения по этому вопросу? Спасибо, пока.