|  | 
| 
Отправить soap запрос из командной строки | |||
|---|---|---|---|
| #18+ Доброго дня. Столкнулся с такой проблемой. Есть сервер, на котором запущены soap-сервисы. Данные сервисы нормально работают как через soapUI, так и из java приложений, но вот из Win приложения с использованием WinHttpRequest при попытке отправки запроса возвращается сама wsdl, а запрос не производится. Решил отправить запрос вручную из под линукс системы на которой и подняты эти soap-сервисы. Пробовал двумя командами: wget и curl в обоих случаях такая же проблема, запрос не уходит, а в ответ получаю саму wsdl вот команды которые запускал: curl --header "Content-Type: text/xml;charset=UTF-8" --header "SOAPAction: http://uir.ms.ru/SOAP.AttachmentService.getAttachment" -d req2.xml http://server_ip/wsdl/HsTServiceSK?wsdl -O -S -o response2.xml wget http://server_ip/wsdl/HsTServiceSK?wsdl -U "myAgent" -F --post-file=req2.xml --header="Content-Type: text/xml" -S -d -O response.xml лог дебага: Setting --output-document (outputdocument) to response.xml DEBUG output created by Wget 1.12 on linux-gnu. --2018-03-12 17:15:34-- http://server_ip/wsdl/HsTServiceSK?wsdl Устанавливается соединение с server_ip:80... соединение установлено. Created socket 4. Releasing 0x0000000000aefda0 (new refcount 0). Deleting unused 0x0000000000aefda0. ---request begin--- POST /wsdl/HsTServiceSK?wsdl HTTP/1.0 User-Agent: myAgent Accept: */* Host: server_ip Connection: Keep-Alive Content-Type: text/xml Content-Length: 503 ---request end--- [writing POST file req2.xml ... done] Запрос HTTP послан, ожидается ответ... ---response begin--- HTTP/1.1 200 OK Server: nginx/1.8.1 Date: Mon, 12 Mar 2018 05:15:34 GMT Content-Type: text/xml;charset=UTF-8 Connection: close Set-Cookie: JSESSIONID=AF2A4D905A6A176487C211BF385551CF; Path=/ ---response end--- HTTP/1.1 200 OK Server: nginx/1.8.1 Date: Mon, 12 Mar 2018 05:15:34 GMT Content-Type: text/xml;charset=UTF-8 Connection: close Set-Cookie: JSESSIONID=AF2A4D905A6A176487C211BF385551CF; Path=/ Stored cookie server_ip -1 (ANY) / <session> <insecure> [expiry none] JSESSIONID AF2A4D905A6A176487C211BF385551CF Длина: нет информации [text/xml] Saving to: «response.xml» Использовал уже различные параметры, результат один и тот же: скачивается сама wsdl и запрос не уходит. Подскажите как быть? Почему не отправляется запрос, что еще проверить? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 12.03.2018, 08:44 |  | ||
| 
Отправить soap запрос из командной строки | |||
|---|---|---|---|
| #18+ Параметр ("?wsdl") не пробовали убрать? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 12.03.2018, 11:25 |  | ||
| 
Отправить soap запрос из командной строки | |||
|---|---|---|---|
| #18+ Basil A. Sidorov, пробовал.  Как только уже не пробовал. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 13.03.2018, 01:59 |  | ||
| 
Отправить soap запрос из командной строки | |||
|---|---|---|---|
| #18+ А потрассировать запросы, отправляемые корректно работающим приложением, Вы не пробовали? Ну там tcpdump-ом или wireshark-ом. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 13.03.2018, 10:44 |  | ||
| 
Отправить soap запрос из командной строки | |||
|---|---|---|---|
| #18+ Всем спасибо, за участие. Разобрался. В WSDL есть параметр soap:address location он указывает на место фактического нахождения сервиса (слушателя) и это место может не совпадать с адресом нахождения wsdl, именно по этому просто убирая из моего примера ?wsdl мне все-равно скачивалась wsdl заменил url на тот, что указан в soap:address location и все заработало ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 14.03.2018, 02:57 |  | ||
|  | 

| start [/forum/topic.php?fid=25&gotonew=1&tid=1481375]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 11ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 45ms | 
| get topic data: | 9ms | 
| get first new msg: | 6ms | 
| get forum data: | 2ms | 
| get page messages: | 43ms | 
| get tp. blocked users: | 1ms | 
| others: | 11ms | 
| total: | 146ms | 

| 0 / 0 | 
