powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / WS + post method
14 сообщений из 14, страница 1 из 1
WS + post method
    #38302294
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток! Подскажите в какую стороны рыть.
Есть вебсервис написанный на делфях. Сгенерил stub файлы по WSDL. Написал клиента для тестирования через консоль. При соединении возвращается 500 ошибка. Те, кто писал сервис говорят что нужно обращаться через POST запрос, а не через GET.
Для подключения использую апачевские библиотеки. Подскажите, как настроить чтобы запрос ходил через POST, а не через GET?
Просьба сильно не пинать!
Спасибо.
...
Рейтинг: 0 / 0
WS + post method
    #38302320
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipДля подключения использую апачевские библиотеки.
Можно, наверное, с десяток перечислить, которые под это определение подходят и позволяют конектится к сервисам.
...
Рейтинг: 0 / 0
WS + post method
    #38302326
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Axiom
...
Рейтинг: 0 / 0
WS + post method
    #38302380
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axiom это вроде XML сериализатор для Axis2. Стоп. А SOAP он ведь и так через POST работает. Как вы XML GET-ом послать умудрились?
...
Рейтинг: 0 / 0
WS + post method
    #38302495
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczКак вы XML GET-ом послать умудрились?Закодировал в URL - делов-то.
Вот только сервер обламывает или по слишком длинному URL или получает обрывок, т.к. режет уже отправляющая сторона.
...
Рейтинг: 0 / 0
WS + post method
    #38303825
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, оказалась не совсем начальная проблема. Веб сервис написан на Delphi. Пытаюсь дернуть его через Java. В ответ приходит 500 ошибка, хотя через клиент Delphi все работает нормально.
Также пробовал дергать WS через линукс с помощью wget.
В итоге, мой запрос проходит на ура, а через клиента нет :(
Через debug смотрел: запрос один в один, что и через wget. Но не проходит. Подскажите кто знает что проверять?
...
Рейтинг: 0 / 0
WS + post method
    #38303847
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipВ общем, оказалась не совсем начальная проблема. Веб сервис написан на Delphi. Пытаюсь дернуть его через Java. В ответ приходит 500 ошибка, хотя через клиент Delphi все работает нормально.
Также пробовал дергать WS через линукс с помощью wget.
В итоге, мой запрос проходит на ура, а через клиента нет :(
Через debug смотрел: запрос один в один, что и через wget. Но не проходит.Можете сделать "подстрочный перевод"?
Например:
delphi-клиент, согласно логу web-сервера присылает get-запрос.
Если аналогичный запрос отправить с помощью "wget http://сервер/запрос", то приходит ответ "200 OK", согласно отчёта wget.
Я отправляю "GET /запрос HTTP/1.0", но сервер возвращает "500 Server error".
Или что?
...
Рейтинг: 0 / 0
WS + post method
    #38303865
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЗакодировал в URL - делов-то. Вот только сервер обламывает или по слишком длинному URL или получает обрывок, т.к. режет уже отправляющая сторона.
Та ну на. wsimport генерит же готовый к употреблению клиент. Откуда там GET?
...
Рейтинг: 0 / 0
WS + post method
    #38303870
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipВ общем, оказалась не совсем начальная проблема. Веб сервис написан на Delphi. Пытаюсь дернуть его через Java. В ответ приходит 500 ошибка, хотя через клиент Delphi все работает нормально.
Также пробовал дергать WS через линукс с помощью wget.
В итоге, мой запрос проходит на ура, а через клиента нет :(
Через debug смотрел: запрос один в один, что и через wget. Но не проходит. Подскажите кто знает что проверять?
а) Пинать разработчиков, пущай дебажат. 500 это Internal Server Error. Если метод не правильный, то для него существует другой HTTP Status Code. Так что это тоже косяк сервиса.
б) Запускайте с -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true. Оно сдампит запрос со всеми заголовками. Можно будет сравнить с wget. Можно попробовать SOAP UI.
...
Рейтинг: 0 / 0
WS + post method
    #38303885
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторМожете сделать "подстрочный перевод"?
Например:
delphi-клиент, согласно логу web-сервера присылает get-запрос.
Если аналогичный запрос отправить с помощью "wget http://сервер/запрос", то приходит ответ "200 OK", согласно отчёта wget.
Я отправляю "GET /запрос HTTP/1.0", но сервер возвращает "500 Server error".
Или что?
Есть клиент написанный на Java и клиент написанный на Delphi. Есть webservice написанный на Delphi.
Отправляется POST запрос к webservice. В случае, когда клиент на Java: возвращается 500 ошибка. В случае, когда запрос идет от клиента на Delphi запрос отрабатывается нормально.
Дальше, чтобы проверить еще раз, через линукс с помощью wget отправляется такой же запрос, который отправлялся с Java клиента. В результате запрос отрабатывает нормально и возвращает результат.

Вопрос такой: что есть такое несовместимого с Delphi в Java клиенте, что запрос не отрабатывает нормально?

автора) Пинать разработчиков, пущай дебажат. 500 это Internal Server Error. Если метод не правильный, то для него существует другой HTTP Status Code. Так что это тоже косяк сервиса.
б) Запускайте с -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true. Оно сдампит запрос со всеми заголовками. Можно будет сравнить с wget. Можно попробовать SOAP UI.
Просто почему, через wget идет нормально, а через Java - 500 ошибка.

Еще такое замечание, может и ненужное. Когда просматривал WSDL веб-сервиса было замечено что style="rpc".
Может тоже важно.
Спасибо заранее за помощь.
...
Рейтинг: 0 / 0
WS + post method
    #38303893
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipДальше, чтобы проверить еще раз, через линукс с помощью wget отправляется такой же запрос, который отправлялся с Java клиента. В результате запрос отрабатывает нормально и возвращает результат.
Вопрос такой: что есть такое несовместимого с Delphi в Java клиенте, что запрос не отрабатывает нормально?У вас NDA на параметры вызова wget?
...
Рейтинг: 0 / 0
WS + post method
    #38303898
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пример:
Код: sql
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.
Spider mode enabled. Check if remote file exists.
--2013-06-20 00:45:23--  http://sql.ru/
Resolving sql.ru... 89.188.113.172
Connecting to sql.ru|89.188.113.172|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 301 Moved Permanently
  Content-Length: 209
  Content-Type: text/html; charset=UTF-8
  Location: http://www.sql.ru/
  Server: Microsoft-IIS/8.0
  X-Powered-By: ASP.NET
  Date: Wed, 19 Jun 2013 15:45:20 GMT
  Connection: keep-alive
Location: http://www.sql.ru/ [following]
Spider mode enabled. Check if remote file exists.
--2013-06-20 00:45:23--  http://www.sql.ru/
Resolving www.sql.ru... 89.188.113.172
Connecting to www.sql.ru|89.188.113.172|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Cache-Control: private
  Content-Length: 34853
  Content-Type: text/html; charset=windows-1251
  Server: Microsoft-IIS/8.0
  Set-Cookie: ASP.NET_SessionId=falsb054unfk3f2mhy1xn4xd; domain=www.sql.ru; path=/; HttpOnly
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Date: Wed, 19 Jun 2013 15:45:21 GMT
  Connection: keep-alive
Length: 34853 (34K) [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

Из этого примера можно видеть, что wget умеет обрабатывать перенаправления. Куки - тоже умеет.
От себя могу добавить, что ключ --spider может изменить семантику запроса.
...
Рейтинг: 0 / 0
WS + post method
    #38303910
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JAX-WS не поддерживает только RPC/encoded. Но у вас бы тогда ещё wsimport на это отругался. Так что дело не в style.
Надо сдампить полный запрос с HTTP заголовками и сравнить.
Internal Server Error это ошибка сервера, а не клиента.
...
Рейтинг: 0 / 0
WS + post method
    #38304725
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, проблема решилась. Нужно было сделать добавить строку:

авторstub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, false);

Blazkowicz, спасибо большое за подсказку на счет dump'a запроса.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / WS + post method
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]