|
|
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
Добрый день! После того как не получилось побороться с префиксами NS1 (вопрос http://www.sql.ru/forum/1297187/wsdl-rio-levye-prefiksy-ns1) пытаюсь напрямую послать запрос на soap-сервер (извиняюсь, если терминология страдает) Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. sIP = 'https://api2.vetrf.ru:8002/platform/services/2.0/ApplicationManagementService' В except пишет Error 401--Unauthorized Подскажите, люди добрые, что надо еще указать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 21:18 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
А, что есть здесь люди, занимавшиеся ЕГАИС-ом? А, если такие есть, то процентов на 70 они должны были заниматься ветеринарной службой! Может не на том форуме задаю свои дебильные вопросы? Может кто подскажет другой форум. не предлагать http://vetrf.ru/vetrf-forum/posts/list/150/7152.page ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2018, 23:14 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxx, Может, сертификат нужно установить куда-то. Или еще что связанное с ssl. Как это все делается в инди - не знаю и знать не хочу. Был в твоей ситуации. Дельфевые обертки для soap не подошли, стал отправлять/получать xml и разбирать его. Совет. В дельфевом soap 2 варианта транспортного уровня, к щастью. WinInet и Indy, который включается дефайном USE_INDY, если не ошибаюсь. Специально сделали, чтобы когда инди заглючит, можно было быстро отключить. Так вот, возьми оттуда за основу передачу по WinInet. Ему всё равно - http или https, работать будет всегда и везде (на более менее современных осях), ничего настраивать не надо. Разве что, возможно, придется установить в систему сертификат, если сервер не отдает его автоматически. Там кода на пару страниц. Как минимум, нормальный текст ошибки увидеть сможешь. *так было до D7, что щас с soap в дельфи - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 00:15 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
YuRock, Я во всем этом совершенно не шарю Но клиент ЕГАИСа работает на idHTTP Не знаю принято это здесь, назначаю премию 3000 руб. (цена договорная) Как приконнектиться к этому серваку через idHTTP, заслать запрос, получить ответ delphi7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 00:31 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
сам файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 00:34 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
YuRockБыл в твоей ситуации. Дельфевые обертки для soap не подошли, стал отправлять/получать xml и разбирать его Слава богу, хоть один человек меня понимает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 01:10 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
YuRockМожет, сертификат нужно установить куда-то. Или еще что связанное с ssl. Как это все делается в инди - не знаю и знать не хочу. блин, не написал, что сертификат добавлен idHTTP1.IOHandler := IdSSLIOHandlerSocket1; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 01:21 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxxНе знаю принято это здесь, назначаю премию 3000 руб. (цена договорная) Как приконнектиться к этому серваку через idHTTP, заслать запрос, получить ответ Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:21 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
YuRockКак минимум, нормальный текст ошибки увидеть сможешь. до ошибок я еще не дошел, даже приконектиться не могу ошибка возникает при попытке конекта к серверу командой Post Error 401--Unauthorized у меня есть готовый запрос, правильный, который надо запихать этому серверу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:22 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxx, отправил. Заголовки ответа: авторHTTP/1.1 200 OK Server: nginx/1.13.7 Date: Tue, 03 Jul 2018 23:24:03 GMT Content-Type: text/xml; charset=utf-8 Content-Length: 597 Connection: keep-alive X-Powered-By: Servlet/2.5 JSP/2.1 Ответ: автор<env:Envelope xmlns:env=" http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><submitApplicationResponse xmlns=" http://api.vetrf.ru/schema/cdm/application/ws-definitions"><application xmlns=" http://api.vetrf.ru/schema/cdm/application"><applicationId>a2886977-1bdd-4b34-9212-372be76a1b17</applicationId><status>ACCEPTED</status><serviceId>mercury-g2b.service</serviceId><issuerId>da25c396-4d0d-44a0-8278-138ffc38228a</issuerId><issueDate>2018-07-03T19:02:36.953 05:00</issueDate><rcvDate>2018-07-04T02:24:03</rcvDate></application></submitApplicationResponse></env:Body></env:Envelope> Так ожидаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:25 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, спасибо, можешь пояснить в чем разница? на почту скинь, пож-ста, номер карты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:41 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
вопрос закрыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:43 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxxвопрос закрыт круто, а я проект хотел прицепить и объяснить, что body нужно передавать, а не multipart... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:45 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
sql2012, так я бы с удовольствием бы понял эту разницу (если мозгов хватит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 02:54 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxxsql2012, так я бы с удовольствием бы понял эту разницу (если мозгов хватит) При отправке MultiPartFormDataStream - получаем внутри тела запроса не только сам файл, но и его имя\разделитель и т.п. (параметры) Подробнее здесь , например. А отправлять нужно SOAP-запрос, Post (url, xml запрос из файла). Получается вот так вместе с заголовками: авторPOST /platform/services/2.0/ApplicationManagementService HTTP/1.0 Content-Type: text/html Host: api2.vetrf.ru:8002 Accept: text/html, */* User-Agent: Mozilla/3.0 (compatible; Indy Library) Authorization: Basic b3B0c2VydmljZS0xODA1MTY6aEI5aDRTZUI= Content-Length: 1523 <?xml version="1.0"?> <SOAP-ENV:Envelope .... ..... ...</SOAP-ENV:Envelope> Сравнить по ссылке из вики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 03:08 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxxsql2012, так я бы с удовольствием бы понял эту разницу (если мозгов хватит) С MultiPartFormData генерируется вот такой запрос: авторPOST /platform/services/2.0/ApplicationManagementService HTTP/1.0 Content-Type: multipart/form-data; boundary=--------070418041135276 Host: api2.vetrf.ru:8002 Accept: text/html, */* User-Agent: Mozilla/3.0 (compatible; Indy Library) Authorization: Basic b3B0c2VydmljZS0xODA1MTY6aEI5aDRTZUI= Content-Length: 1698 ----------070418041135276 Content-Disposition: form-data; name="xml_file"; filename="запрос1.xml" Content-Type: application/octet-stream <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://www.w3.org/2001/XMLSchema" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body xmlns:NS1=" http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2"><submitApplicationRequest xmlns=" http://api.vetrf.ru/schema/cdm/application/ws-definitions"><apiKey>NzRmMmNlNDktNjM4Yi00NDcxLWE5NzAtZjM5OTNlNzU3ZDdhZGEyNWMzOTYtNGQwZC00NGEwLTgyNzgtMTM4ZmZjMzgyMjhh</apiKey><application xmlns=" http://api.vetrf.ru/schema/cdm/application"><serviceId>mercury-g2b.service:2.0</serviceId><issuerId>da25c396-4d0d-44a0-8278-138ffc38228a</issuerId><issueDate>2018-07-03T19:02:36.953 05:00</issueDate><data><getVetDocumentListRequest xmlns=" http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2"><localTransactionId>T20180703190236</localTransactionId><initiator xsi:type="NS1:user"><login xmlns=" http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">optservice-180516</login></initiator><listOptions xmlns=" http://api.vetrf.ru/schema/cdm/base"><count>500</count><offset>0</offset></listOptions><vetDocumentType xmlns=" http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">INCOMING</vetDocumentType><vetDocumentStatus xmlns=" http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">UTILIZED</vetDocumentStatus><enterpriseGuid xmlns=" http://api.vetrf.ru/schema/cdm/dictionary/v2"></enterpriseGuid></getVetDocumentListRequest></data></application></submitApplicationRequest></SOAP-ENV:Body></SOAP-ENV:Envelope> ----------070418041135276-- и приходит ответ: авторHTTP/1.1 500 Internal Server Error Server: nginx/1.13.7 Date: Wed, 04 Jul 2018 00:11:36 GMT Content-Type: text/xml; charset=utf-8 Connection: close X-Powered-By: Servlet/2.5 JSP/2.1 Content-Length: 780 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><faultstring>BEA-382513: OSB Replace action failed updating variable "body": Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items</faultstring><detail><con:fault xmlns:con=" http://www.bea.com/wli/sb/context"><con:errorCode>BEA-382513</con:errorCode><con:reason>OSB Replace action failed updating variable "body": Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items</con:reason><con:location><con:path>response-pipeline</con:path><con:error-handler>true</con:error-handler></con:location></con:fault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 03:13 |
|
||
|
idHTTP ошибка авторизации при коннекте к SOAP-серверу
|
|||
|---|---|---|---|
|
#18+
bamxxможешь пояснить в чем разница? 1. Задействование базовой идентификации (именно из-за её отсутвия ты получал 401) 2. Тело запроса отдаётся как есть, а не кодируется особым образом для передачи частями, как при использовании мультипарт . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 03:39 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39669191&tid=2040669]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 476ms |

| 0 / 0 |
