2012-11-16 101 views
0

我有一個wcf REST服務,它調用一個方法來更新數據庫中的某些東西。該方法需要一個參數。JSon格式來調用REST服務

可以說,我是void MarkMobileAppApplicationAsCancelled(string applicationId);

現在我試圖調用使用從名爲CREST從Chrome App Store一個應用該服務。但我不知道如何在Json格式中調用該方法。

任何幫助?

我有一個像

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

一些事情我想做是初始化這個方法將通過設置更新我的數據庫應用程序的application_confirmed = TRUE,

我寫的請求生成器

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

和在頭下面

content-type:application/json 

現在,我會寫在請求實體?

+0

請明確您的REST定義:您是否只是指使用json進行通信並具有特定資源url的web服務?如果您提供服務界面,則可以更輕鬆地回答您的問題。 – faester

+0

我是新來的wcf。請參閱問題中的更新。 – Aqua

回答

1

很可能你不想在請求中寫任何東西,而是從url中獲取applicationID

您可以使用稍微修改

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

現在,你可以簡單地做一個標準的HTTP請求(使用curl /小提琴手用於測試和Web客戶端/ WebRequest的)在代理對端點獲得此

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

請記住,請求的方法必須是POST,如WebInvoke屬性中所示。 (我猜PUT會更慣於正確,因爲你必須更新一個方法,但這是另一個討論。)

希望這有助於!