Не удалось выполнить доставку IPN.Код ошибки HTTP 405:Метод Не Разрешен

StackOverflow https://stackoverflow.com/questions/1162022

Вопрос

Я пытаюсь протестировать сервлет, который я написал, который обрабатывает IPN-уведомление payapal (мой сервлет очень похож на этот пример) - дело в том, что даже после включения всех настроек в тестовой учетной записи, которую я использую, уведомление по IPN вообще не срабатывает.

Затем я узнал, что, по-видимому, в песочнице единственный способ протестировать IPN - это через симулятор IPN.Я пытаюсь использовать это, но я получаю:

Не удалось выполнить доставку IPN.Код ошибки HTTP 405:Метод Не Разрешен

Есть ли у кого-нибудь хоть малейшая зацепка?

Также я ищу Любой совет по простому тестированию обработчиков IPN, поскольку симулятор IPN - это отстой (любая выбранная вами опция сбрасывает все поля и так далее).

Любая помощь приветствуется!

Это было полезно?

Решение

Я бы проверил, чтобы убедиться, что ваш веб-сервер разрешает запросы POST на ваш URL-адрес обработчика IPN.В этом примере я использовал PHP-версию примера на странице, на которую вы ссылались, и разместил скрипт по адресу /ipn.php.

Затем я подключаюсь по telnet к своему серверу.(замените на адрес вашего сервера)

$ telnet myserver.com 80
Trying myserver.com...
Connected to myserver.com.
Escape character is '^]'.

Вставьте следующее в свой сеанс telnet.(заменить ipn.php и myserver.com).Добавьте пустую строку после последней команды.

POST /ipn.php HTTP/1.1
Host: myserver.com
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
HTTP/1.1 200 OK

Если вы не видите статус 200, это означает, что ваше приложение неправильно обрабатывает запросы POST, что является вероятной причиной ошибки 405.

Вы должны убедиться, что вы внедрили метод doPost() в свой сервлет, а также doGet().

Если вы можете заставить запросы работать с помощью симулятора IPN и готовы перейти к тестированию в изолированной среде, убедитесь, что у вас указан правильный URL уведомления и что IPN включен в профиле продавца изолированной среды.

Кроме того, убедитесь, что ваш обработчик IPN также регистрирует НЕДОПУСТИМЫЕ запросы, чтобы вы знали, был ли запрос вообще инициирован.

Наконец, убедитесь, что URL-адрес для подтверждения IPN установлен на https://www.sandbox.paypal.com/cgi-bin/webscr в вашем сервлете.(URL-адрес в опубликованном вами примере является https://www.paypal.com/cgi-bin/webscr)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top