Вызов метода post в сервисе RESTful wcf - PullRequest
0 голосов
/ 24 декабря 2011

Я делаю метод GET, вызываю его по ссылке, и все в порядке.Вот оно:

    [OperationContract]
    [WebInvoke(
        Method = "GET",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "/myMethod/{input}",
        BodyStyle = WebMessageBodyStyle.Bare
        )]
    MyClass myMethod(string input);

И вот URL, с которым я его называю: http://localhost:1234/Service1.svc/json/myMethod/blabla

Однако, когда я создаю метод записи, он неРабота.Вот мой метод POST:

    [OperationContract]
    [WebInvoke(
        Method = "POST",
        ResponseFormat = WebMessageFormat.Json,
        RequestFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Bare
        )]
    MyClass anotherMethod(string comeOn);

, и я вызываю его по следующей ссылке: http://localhost:1234/Service1.svc/json/anotherMethod?comeOn=smthing, и там написано, что метод запрещен.

Как вызвать метод POST?

Ответы [ 2 ]

2 голосов
/ 24 декабря 2011

Хорошо, поэтому разница между POST и GET заключается в том, что GET у вас есть все параметры в строке запроса, тогда как POST имеет параметры внутри тела сообщения запроса.

http://wiki.answers.com/Q/What_is_the_difference_between_get_and_post_method_in_HTTP

Ваш второй вызов на самом деле выполняет GET, поэтому он не разрешает этот метод.

Способ проверки сообщения можно найти здесь.

Как смоделировать HTTP-запрос POST браузера и записать результат в C #

0 голосов
/ 24 декабря 2011

Вот ссылка на MSDN по работе с веб-сервисами REST.

http://msdn.microsoft.com/en-us/netframework/cc950529.aspx

...