|
|
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Как создать такой запрос : Есть код который отлисно работает в Junit тесте - где создается запрос и получается ответ. либа клиента commons-httpclient-3.1.jar Как только я переношу этот код в SessionBean , который инджектится в сервлет. И вызываю его - клиент httpclient "умирает" по TIMEOUT! ответа от сервера я получить не могу Помогите понять в чем затык? вызовы из SessionBean не проходят или что то еще ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. Utils.marshaller(registerRequest, outputStream); - перевод класса в XML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 18:20:25 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
OutputStream кривой с точки зрения Unicode. Покажите stacktrace повисшего потока. Это вообще гениальная комбинация. Код: java 1. 2. 3. fcgi_request это вообще что и откуда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 18:34:14 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
BlazkowiczOutputStream кривой с точки зрения Unicode. Покажите stacktrace повисшего потока. Это вообще гениальная комбинация. Код: java 1. 2. 3. Да эпично вышло :) fcgi_request это вообще что и откуда? Старая версия клиента - такой метод уже не рекомендуется использовать - method.setRequestBody(outputStream.toString()); смысл OutputStream лишь в том чтобы превратить класс в xml представление и запихнуть его в строку. Писалось на месте - если есть что предложить - буду рад. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. fcgi_request - внешний URI public static final String fcgi_request = " http://test.it.office/fcgi/fcgi_request"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 18:47:26 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
Atum1, Вот тут пример Request Streaming http://hc.apache.org/httpclient-3.x/performance.html#Request_Response_entity_streaming Чтобы не загонять XML целиком в память, а писать непосредственно маршаллером в запрос. XML большой? Может серверу не хватает 3х секунд чтобы его распрарсить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 18:55:26 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
Что говорят логи сервера, на который отправляется запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 18:56:26 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧто говорят логи сервера, на который отправляется запрос? 500 ошибка . Обернул код httpclient клиента в простой класс - на писал тест - ему хватает и 1 секунды за глаза. XML - маленький - 10 строк. Не работает вызов именно из серлвета или SessionBean - и это очень странно , как будто контейнер не выпускает запросы (бред конечно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:13:06 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:20:35 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAtum1, Вот тут пример Request Streaming http://hc.apache.org/httpclient-3.x/performance.html#Request_Response_entity_streaming Чтобы не загонять XML целиком в память, а писать непосредственно маршаллером в запрос. XML большой? Может серверу не хватает 3х секунд чтобы его распрарсить? тут для файла - у меня же схема другая (простая )- приходит "трансфер" от веб клиента - это набор полей - он преобразуется в класс запроса - класс запроса маршалится в правильный xml - тело xml вставляется а тело запроса клиента и перенаправляется на другой ресурс от которого я должен получить ответ . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:22:08 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
WGAAtum1, еще можно включить протоколирование для commons-httpclient. Да ,что то в Пятницу вечером - совсем плохо соображаю - логи показывают что ответ приходит в виде 401 Authorization Required т.е. каким то образом не проходит авторизация ?! хотя в тесте все ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:28:57 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
Atum1WGAAtum1, еще можно включить протоколирование для commons-httpclient. Да ,что то в Пятницу вечером - совсем плохо соображаю - логи показывают что ответ приходит в виде 401 Authorization Required т.е. каким то образом не проходит авторизация ?! хотя в тесте все ок.Тут уж Вам виднее ) Вы же выдрали кусок кода и откуда берется payment_credentials отсюда не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:39:38 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
WGAAtum1пропущено... Да ,что то в Пятницу вечером - совсем плохо соображаю - логи показывают что ответ приходит в виде 401 Authorization Required т.е. каким то образом не проходит авторизация ?! хотя в тесте все ок.Тут уж Вам виднее ) Вы же выдрали кусок кода и откуда берется payment_credentials отсюда не видно. тут секретов нет:) Код: java 1. 2. 3. Кажется понял в чем ошибка - не все поля заполнены в xml :) а в тесте все :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:46:23 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
Atum1Кажется понял в чем ошибка - не все поля заполнены в xml :) а в тесте все :).Хороший у Вас сервер на той стороне - в логах пишет 500-ю, а отдает 401-ю. Чтобы враг не догадался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:49:28 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
Atum1тут для файла - у меня же схема другая (простая ) Радикольно, другая схема. Прям разница - земля и небо. Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 19:53:23 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
На будущее чтоб сильно не заморачиваться и иметь под рукой проверку - установите в chrome - https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?utm_source=ha-en-na-us-webapp-Advanced Rest Client Application Advanced REST client после чего можете послать ваше сообщение вручную и посмотреть что прийдет. Вообще 500 ошибка довольна распростаненное явление когда клиент не авторизован. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 20:04:58 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
SergunkaВообще 500 ошибка довольна распростаненное явление когда клиент не авторизован.Подумайте еще раз хорошенько. В ответ на HTTP-запрос возвращается один код возврата. Или 401, или 500, или... но никак не два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 20:11:55 |
|
||
|
Запрос на другой сервер из EJB SessionBean
|
|||
|---|---|---|---|
|
#18+
WGAAtum1Кажется понял в чем ошибка - не все поля заполнены в xml :) а в тесте все :).Хороший у Вас сервер на той стороне - в логах пишет 500-ю, а отдает 401-ю. Чтобы враг не догадался... Не. Он 500 вернул когда клиент вылетает по таймауту. 401 когда ошибка в запросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 21:19:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38492333&tid=2128037]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
200ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 520ms |

| 0 / 0 |
