«Размещенная служба недействительна», когда я пытаюсь отобразить список обслуживаемых в моей подписке Windows Azure. - PullRequest
0 голосов
/ 02 апреля 2012

Я пытаюсь запросить список размещенных служб в моей подписке Windows Azure. В моей программе на C # я отправляю запрос на URL

https://management.core.windows.net:443/<my-subscription-id>/services/hostedservices

где <my-subscription-id> берется с портала управления Azure и представляет GUID в виде строки, подобной этой:

abcdef01-2345-4678-90ab-cdef0abcdef0

без фигурных скобок или чего-либо. Я уже имел дело со всеми видами проблем с сертификатами, поэтому я предполагаю, что сертификаты в порядке.

Ответ содержит этот XML:

<Error xmlns="http://schemas.microsoft.com/windowsazure"
   xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <Code>BadRequest</Code>
      <Message>The hosted service is not valid.</Message>
</Error>

Что похоже на то, что я хотел запросить статус определенной службы, но неправильно указал ее идентификатор. Тем не менее, MSDN подтверждает , что я использую правильный URL для получения списка услуг.

Что я делаю не так и как мне это решить?

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Я согласен с @dunnry, что вы должны удалить 443, и, кроме того, я бы посоветовал вам дважды проверить, что вы отправляете правильный идентификатор подписки.

Если вы динамически создаете URL-адрес запроса, я бы установил точку останова во время выполнения и проверил, верна ли строка.

0 голосов
/ 03 апреля 2012

Оказывается, проблема была в следующем.Я скопировал тонну кода, который обернул вызов REST в интерфейс:

[ServiceContract(Namespace = ..., ConfigurationName = ...)]
public interface IAzureManagement
{
    [OperationContract]
    [WebInvoke(Method = "GET", UriTemplate = @"{subscriptionId}/services/hostedservices")]
    Services GetServices(string subscriptionId);
}

и использовал [WebInvoke] вместо [WebGet].Понятия не имею, почему это имеет значение, но как только я перешел на [WebGet], проблема ушла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...