2012-11-16 3 views
0

У меня есть служба WEST REST, которая вызывает метод, который что-то обновляет в базе данных. Метод принимает параметр.Формат JSon для вызова службы REST

позволяет сказать, что я это void MarkMobileAppApplicationAsCancelled(string applicationId);

Теперь я пытаюсь вызвать эту услугу с помощью одного приложения из хрома магазина приложений под названием CREST. но я не знаю, как вызвать этот метод в формате Json.

Любая помощь ??

У меня есть некоторые вещи, как

[OperationContract] 
     [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/MarkMobileAppApplicationAsConfirmed/")] 
     void MarkMobileAppApplicationAsConfirmed(string applicationId); 

, что я пытаюсь это инициализировать этот метод, который будет обновлять свою базу данных путем установки приложения application_confirmed = верно,

Я написал следующее в Request Builder

https://local.blaSys.com/MobileAppWCF.svc/MarkMobileAppApplicationAsCancelled/ 

и следующие в заголовке

content-type:application/json 

Теперь, что бы я написал в объекте запроса?

+0

Уточните свое определение REST: Вы просто имеете в виду веб-сервис, который обменивается данными с json и имеет URL-адреса, специфичные для ресурсов? Если вы предоставите свой сервисный интерфейс, вам будет легче ответить на ваш вопрос. – faester

+0

Я новичок в wcf. См. Обновления в вопросе. – Aqua

ответ

1

Скорее всего, вы не захотите что-либо написать в запросе, а скорее получите applicationID с URL.

Вы можете получить это с помощью небольшой модификации

[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/MarkMobileAppApplicationAsConfirmed/{applicationID}")] 
    void MarkMobileAppApplicationAsConfirmed(string applicationId); 

Теперь вы можете просто сделать стандартный запрос HTTP (с использованием завитка/скрипача для тестирования и WebClient/WebRequest) в прокси с конечной

https://local.blaSys.com/MobileAppWCF.svc/MarkMobileAppApplicationAsCancelled/someApplicationId

Помните, что метод, заданный для запроса, должен быть POST, как указано в атрибуте WebInvoke. (Я думаю, что PUT будет более идиоматически корректным, так как вы должны обновлять метод, но это еще одно обсуждение.)

Надеюсь, это поможет!

Смежные вопросы