Внутренняя ошибка сервера WCF при вызове метода put с помощью jQuery - PullRequest
3 голосов
/ 02 декабря 2011

Я пытаюсь выполнить операцию put для службы webapi WCF с использованием jQuery 1.7.1.Соответствующий код клиента:

$.ajax(
    {
        type: 'PUT',
        contentType: 'application/json',
        dataType: 'json',
        url: '../webapi/esfuerzos/' + id,
        data: { json: args },
        success: function (respuesta) {
            $("cancelarEsfuerzoTerreno").trigger("tap");
        },
        error: function (respuesta) {
            debugger;
        }
    });

На сервере находится следующая сигнатура метода:

[WebInvoke(UriTemplate = "{idTicket}", Method = "PUT", RequestFormat = WebMessageFormat.Json)]
public HttpResponseMessage Agregar(int idTicket, JsonValue json)

Когда я вызываю код клиента, я получаю ответ 500 - внутренняя ошибка сервера.Что может быть причиной этого?

edit: вот сырое http сообщение

PUT http://localhost/mosaq/sae/webapi/esfuerzos/12 HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Referer: http://localhost/mosaq/sae/movil/
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: localhost
Content-Length: 355
Connection: Keep-Alive
Pragma: no-cache
Cookie: ASP.NET_SessionId=jy0shfatrj4icobvagysrnm2

json%5BpreparacionCoordinacionMinutos%5D=null&json%5BpreparacionCoordinacionHoras%5D=null&json%5BesperaMinutos%5D=null&json%5BesperaHoras%5D=null&json%5BtrasladoIdaFin%5D=null&json%5BtrasladoIdaInicio%5D=null&json%5BtrasladoRegresoFin%5D=null&json%5BtrasladoRegresoInicio%5D=null&json%5BejecucionFin%5D=null&json%5BejecucionInicio%5D=null&json%5Btipo%5D=0

Ответы [ 3 ]

1 голос
/ 03 декабря 2011

Если вы видите ошибки на стороне сервера и точка останова на первом этапе, как у вас, сервисный метод никогда не достигается, лучше всего включить трассировку и использовать средство просмотра трассировки служб для просмотра выходных данных.Выводов может быть много, но внимание сосредоточено на ошибках (красный) и предупреждениях (желтый).

См. Ответ на этот вопрос и документы MSDN здесь как настроить вещи.

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

проблема была в том, что объект данных не сериализовался должным образом.вызов json.stringify для объекта args решил проблему.

благодаря Джейсону, который помог мне разобраться!

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

Скорее всего, клиент устанавливает неправильный тип запроса.Например, должно быть «text / xml», но «appliation / x-www-form-urlencoded».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...