Длина содержимого уже присутствует Ошибка soapUI 4.5.1

Недавно я начал использовать soapUI 4.5.1, и я все еще не знаком со всеми настройками. Я создал несколько веб-запросов, и все, кроме одного, работают правильно. Я пытаюсь отправить содержимое типа application/xml, но получаю:

org.apache.http.client.ClientProtocolException, вызванное org.apache.http.ProtocolException: заголовок Content-Length уже присутствует.

Тот же запрос всегда работал отлично для меня в 4.5.0. Содержимое запроса выглядит примерно так:

POST http://exampleHost.com/exampleRequest HTTP/1.1
Accept-Encoding: gzip,deflate
Accept: text/xml
Content-Type: application/xml
Content-Length: 456
Host: exampleHost.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

Далее следует xml.

Я считаю, что длина контента отправляется дважды, но я не знаю, где, потому что я нигде не установил его. SoapUI показывает Additional HTTP Headers for this message как 0.

Любые указатели были бы замечательными!

5 ответов

Я связался с поддержкой SmartBear, проблема, похоже, была исправлена ​​в последней ночной сборке, доступной @http://soapui.org/Downloads/soapui-pro-nightly-builds.html.


Я получил ошибку, чтобы уйти (в SoapUI 4.5.1), проверив флаг Authenticate Preemptive в

Настройки → Настройки HTTP → Аутентификация превентивно


Я столкнулся с той же проблемой, используя сервер разработки с проверкой подлинности, который запрашивал учетные данные пользователя, но фактически принял пустой или любой другой пароль. Таким образом, я оставлял пустой пароль, который отлично работал в soapUI 4.5.0, но провалился так, как вы описали в 4.5.1. Но я обнаружил, что просто поместить текст в пароль, чтобы устранить проблему.

Не знаю, относится ли это к вашему делу, но на всякий случай это полезно.


Я столкнулся с той же проблемой с Soap UI pro версии 4.5.1.

Наконец выяснилось, что проблема связана с настройками прокси.

Разрешение:

  • Добавление целевого сервера в список исключений для параметров прокси-сервера разрешили проблему. Это имеет место, даже если URL-адрес конечной точки локальный хост.
  • Настройки → Настройки прокси-сервера --- > Исключить
  • может указывать несколько серверов с помощью разделенных запятыми значений

Исследование/наблюдение в моей системе:

  • Странно, что тот же набор тестов работает без проблем в другой системе в пределах того же офиса. Должно быть, это связано с тем, как системы сконфигурировано.

  • Воспроизведение с настройками прокси в настройках Интернета не имеет   эффект.

  • Для моего запроса потребовалась аутентификация прокси. Но когда я включаю настройки прокси-сервера, я получаю исключение протокола Http Client с помощью ошибка повторяющегося содержимого.
  • Мы можем найти это из журнала http после отправки запроса... Но у нас нет возможности настроить Это.
  • Интересным было то, что одна из длины содержимого заголовок находился в Incoming Request, а другой был в Outgoing Запрос... Это не должно отбрасывать запрос, хотя.


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

Как только пароль был reset, и учетная запись разблокировала "org.apache.http.client.ClientProtocolException, вызванное сообщением org.apache.http.ProtocolException: Content-Length уже присутствующим", исключение исчезло, а сеть служебный вызов работал как ожидалось.

licensed under cc by-sa 3.0 with attribution.