2

json 文字列を .net wcf サービスに投稿しようとしています。

操作の定義は次のとおりです。

[WebInvoke(Method = "POST", UriTemplate = "test/")]
[OperationContract]
[Description("Test")]
void Test(string input);

フィドラーを使用してテストを送信します。フィドラー情報は次のとおりです。

POST http://localhost/test.svc/test/ HTTP/1.1
Content-Type: application/json
Host: localhost
Content-Length: 4

test

私はいつもこの http 400 エラーを受け取ります:

System.String 型のオブジェクトの逆シリアル化でエラーが発生しました。トークン「true」が予期されていましたが、「test」が見つかりました。

私は何を間違っていますか?当たり前のことなのかもしれませんが、今朝からやっています...

問題は、最も単純な表現に分解されました。現実の世界では、実際には JSON である文字列を投稿したいと考えています。しかし、私たちは .net に逆シリアル化を処理させたくないので、サービス内で自分自身でそれを行いたいと考えています。

4

1 に答える 1

7

ご依頼内容

test

有効な JSON ではありません。文字列を引用符で囲んで送信する必要があります。

POST http://localhost/test.svc/test/ HTTP/1.1
Content-Type: application/json
Host: localhost
Content-Length: 6

"test"
于 2012-06-11T19:25:08.180 に答える