Как интерпретировать ошибку «Клиент обнаружил тип содержимого ответа« text / html »..»

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

25
задан Michał Powaga 14 August 2012 в 11:29
поделиться

4 ответа

Веб-сервер возвращает код ошибки http 500. Эти ошибки обычно происходят, когда исключение в брошенном на веб-сервере и нет никакой логики для ловли его так, это выкладывает ошибку http 500. Можно обычно разрешать проблему путем размещения блоков try-catch в код.

4
ответ дан bastos.sergio 14 August 2012 в 11:29
поделиться
  • 1
    Хороший код, с 1 модификацией: необходимо создать файл блокировки, прежде чем конкуренция начнется, и, конечно, сохраните связанным. Иначе в моих тестах в Mac OS X 10,10 DP5, открытые (), могут успешно выполниться для двух процессов однорангового узла, спорящих для начального создания файла, если в нескольких миллисекундах. Проблема происходит с любым Sté phane' s или Raffi' s код. Я тогда протестированный на напряжение. Результат: Raffi' s код работал отлично, Sté phane' s кодируют не совсем. Я не учился почему. Если заинтересовано см. github.com/jerrykrinock/ClassesObjC/blob/master/SSYSemaphore.h , и.m. – Jerry Krinock 15 August 2014 в 20:33

Это означает, что Ваш потребитель ожидает XML от веб-сервиса, но веб-сервис, поскольку Ваша ошибка показывает, HTML возвратов, потому что это перестало работать из-за тайм-аута.

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

9
ответ дан Vinko Vrsalovic 14 August 2012 в 11:29
поделиться
  • 1
    компиляция errorпјљ" ошибка: необъявленный ‘O_EXLOCK’ (сначала используют в этой функции), " Ubuntu16.04 LTS – CodyChan 4 September 2018 в 02:00

Это происходит, потому что существует необработанное исключение в Вашем веб-сервисе, и время выполнения.NET выкладывает свой HTML желтый экран смертельной страницы дампа ошибки/исключения сервера вместо XML.

, Так как потребитель Вашего веб-сервиса ожидал text/xml заголовок и вместо этого получил текст/HTML, он бросает ту ошибку.

необходимо ли обратиться к причине тайм-аутов (возможно, долгий SQL-запрос?).

кроме того, контроль это сообщение в блоге на блоге Jeff Atwood, который объясняет реализацию глобального обработчика необработанных исключений и использование исключений SOAP.

40
ответ дан skolima 14 August 2012 в 11:29
поделиться
  • 1
    Wouldn' t, которые заставляют именованный семафор быть удаленным? Я didn' t хотят удалить его, я хотел отправить его, когда одно из разрушенных приложений или было уничтожено. (Несколько приложений, используемых здесь, все работающие с тем же набором именованных семафоров для координирования некоторую внутреннюю работу.) – Stéphane 17 March 2011 в 04:12

Правильно ли настроен ваш веб-сервис в IIS? Пул его использование, установлена ​​версия ASP.NET (2.0)? Можете ли вы просмотреть .asmx?

Говоря об исключениях, попробуйте поместить блок try-catch в строку, которая обращается к вашему веб-сервису.

1
ответ дан 28 November 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: