Служба поиска SharePoint 415 Неподдерживаемый тип носителя - PullRequest
1 голос
/ 23 июля 2011

Я пытаюсь запросить службу поиска в JavaScript с помощью JQuery и AJAX. Я продолжаю получать 415 Неподдерживаемая ошибка типа носителя назад. Я отправляю конверт SOAP на сервер с помощью этой команды AJAX:

$. Аякс ({

    url: "http://groups.company.com/_vti_bin/search.asmx",

        beforeSend: function(xhr) {

        xhr.setRequestHeader("SOAPAction",

        "http://microsoft.com/webservices/OfficeServer/QueryService/GetPortalSearchInfo");

            },

    type: "POST",

    dataType: "text",

    data: soapEnv,

    complete: processResult,

    contentType: "application/text charset=\"utf-8\""

    })

Я пробовал разные типы контента, но я не вижу, чтобы найти какой-либо такой работы. Что это должно быть? Спасибо!

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

Ваша последняя строка должна быть:

contentType: "text/xml; charset=\"utf-8\""
0 голосов
/ 23 августа 2011

Это может не быть "неправильный" тип контента вообще!

SharePoint вернет HTTP 415 пытается получить доступ к службе SOAP на сайте с анонимным доступом , поскольку для различных веб-служб SharePoint требуется аутентификация. Тело результата может содержать сообщение об ошибке , например: (Почему это возвращается с 415 ... Я понятия не имею.)

Следующие файлы были заблокированы администратором: /Lists/MyList/calendar.asp/_vti_bin/Lists.asmx

Если это действительно так, тогда вы можете попросить SharePoint предложить HTTP 401 Challenge с помощью заголовка X-RequestForceAuthentication (хотя это может и не потребоваться, и я этого не сделал сам проверил, так что YMMV: -).

Просто убедитесь, что отправили соответствующий заголовок HTTP WWW-Authenticate. Обратите внимание, что в C #, если вызов не происходит, заголовок должен быть включен вручную, в соответствии с HttpWebRequest.PreAuthenticate , в других средах могут быть аналогичные проблемы.

Удачного кодирования.


Кроме того, не имеет значения, используются ли SOAP 1.1 или 1.2 с SharePoint 2007/2010. Используйте Content-Type: (даже не думайте о application/soap-xml ...)

text/xml; charset="UTF-8"

или 415 будет сгенерировано .

...