0

データベース内の何かを更新するメソッドを呼び出している wcf REST サービスがあります。メソッドはパラメーターを取ります。

私のことを言ってみましょうvoid MarkMobileAppApplicationAsCancelled(string applicationId);

今、私は CREST と呼ばれるクロム アプリ ストアから 1 つのアプリを使用してそのサービスを呼び出そうとしています。しかし、Json形式でそのメソッドを呼び出す方法がわかりません。

何か助けて??

私はいくつかのようなものを持っています

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

私がしようとしているのは、アプリケーションの application_confirmed = true を設定してデータベースを更新するこのメソッドを初期化することです。

Request Builderで次のように書きました

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

およびヘッダーの次の

content-type:application/json

では、Request Entity には何を書きますか??

4

1 に答える 1

1

ほとんどの場合、リクエストには何も書きたくないでしょうがapplicationID、URLからを取得します。

これは、わずかな変更を使用して取得できます

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

これで、エンドポイントに対するプロキシで標準のhttpリクエストを(テストにはcurl / fiddlerを使用し、WebClient / WebRequestを使用して)簡単に作成できます。

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

リクエストに指定されたメソッドは、属性POSTに示されているとおりでなければならないことに注意してください。WebInvokePUTメソッドを更新する必要があるため、aはより慣用的に正しいと思いますが、それは別の議論です。)

お役に立てれば!

于 2012-11-16T13:03:59.463 に答える