|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Коллеги, привет. подскажите пожалуйста, как обращаться к ресурсам HTTPS через T-SQL Пример кода Код: 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.
выдает ответ A certificate is required to complete client authentication Хотя сертификат установлен, открываю на хосте с БД explorer и перехожу по ссылке - все ок. Так же пытался сделать через WinHttp.WinHttpRequest.5.1, одинаковый результат В MS SQL какое то свое хранилище сертификатов? Прошу помочь Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:17 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Проблема именно в том, что с этим сайтом код не работает https://api.direct.yandex.com А если взять например какой нибудет https://habrahabr.ru/ или даже https://ya.ru - все ок Что то странное ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:49 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Попробуйте у себя рабочий пример Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 16:56 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
hollister, С# еще не освоили? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2018, 18:48 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Владислав Колосовhollister, С# еще не освоили? а смысл? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 12:22 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Ролг Хупин, очень простой - закрыть "черный ход" в виде OLE автоматизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 16:37 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Что-то не смог победить подключение к веб-сервису Код: 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.
Но пишет, что не смог авторизоваться: StatusCode - 401 StatusText - Unauthorized Respuesta - NULL Подскажите, пожалуйста Через браузер с сервера по RDP запрашивает логин и пароль, после чего показывает XML сервиса Как понять, почему не авторизовывается ? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 14:40 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник, так не делают, для взаимодействия с сервисами пишут отдельное приложение-контроллер или, в крайнем случае, CLR функцию. Это классическая MVC модель. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2020, 17:52 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник после чего показывает XML сервиса Это WSDL сервиса. Если бы авторизация на сервисе прошла нормально, то следующим шагом была бы ручная сборка SOAP-разметки для вызова методов, описанных в WSDL, причем для каждого метода разметка своя. А потом получение ответного SOAP, и его разбор. А та же visual studio умеет по WSDL создавать типизированные обёртки для обращения к сервису, и весь хардкор с ручной сборкой и разбором SOAP-пакетов становится не нужным. Двоичник Как понять, почему не авторизовывается ? Ну, например, потому, что при basic-авторизации authorization header формируется в виде строки Basic+кодированный в base64 результат конкатенации (через дветочие с пробелом) имени пользователя и пароля. А здесь перевода результата конкатенации в base64 я нигде не наблюдаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 06:07 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Двоичник после чего показывает XML сервиса А та же visual studio умеет по WSDL создавать типизированные обёртки для обращения к сервису, и весь хардкор с ручной сборкой и разбором SOAP-пакетов становится не нужным. Уморил. "Написать письмо" сервису раз в сто проще банальным replace-ом по шаблону. Ну а "разбор SOAP-пакетов" делает либо sqlXmlBulkLoader, либо сам сервер. Все эти обертки - великое тормозящее зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 07:32 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
aleks222 "Написать письмо" сервису раз в сто проще банальным replace-ом по шаблону. Проще чем просто вызвать метод класса с нужными параметрами? Уморил. aleks222 Все эти обертки - великое тормозящее зло. Их тормозами можно пренебречь ввиду несоизмеримости задержек самих обёрток, и временем обращения собственно к сервису. В чем состоит остальное "зло"? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 09:15 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Пока вы спорили о прекрасном, мне все же удалось авторизоваться на веб-сервисе. Хотя это вероятно и не правильно, в части шифрованной авторизации, но, так как это будет работать строго в Entranet, то этого достаточно Код: 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.
Единственно только я не понял, как отправить посылку @postData Код: sql 1.
Основная беда вся в том, что я делаю взаимодействие с вебсервисом впервые в жизни. А вебсервис пишет другой программист. И как оно это всё устроено, для меня пока темное. Однако в Код: sql 1.
Я весьма получаю XML как при обращении по ссылке на сервис браузером. Внутри XML для меня якобы заготовлена ветка (фрагмент): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
B вот как передать посылку в операцию TEST пока понимания нет и потом получить ответ. Программист на стороне реализации сервиса утверждает, что авторизацию мою он видит, а вот посылку не видит. Спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 10:34 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Сон Веры Павловны ... то следующим шагом была бы ручная сборка SOAP-разметки для вызова методов, описанных в WSDL, причем для каждого метода разметка своя. А потом получение ответного SOAP, и его разбор. ... Очевидно я тут застрял. Но как сдвинуться дальше, пока не имею представления. Фактически, программирую с чужих примеров и приемов ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 11:26 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник, бросайте эти игры с OLE и пишите UNSAFE функцию на C#. Но это будет иметь последствия в удобстве сопровождения приложения и менее строгом уровне безопасности базы данных. Лучшее решение - написать отдельный "слой"-контроллер для взаимодействия с веб-сервисом. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 11:43 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Владислав Колосов, Навыков на C# практически нет. На Delphi малость могу... Но это обещает породить зоопарк в стэке ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 12:44 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Сон Веры Павловны [Их тормозами можно пренебречь ввиду несоизмеримости задержек самих обёрток, и временем обращения собственно к сервису. В чем состоит остальное "зло"? Все банально. Говнокод, который пишут вокруг обертки требует изрядных затрат времени на написание. Не говоря уж о нервах. Когда с этим чудом сталкиваешься, внезапно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 16:53 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник Владислав Колосов, Навыков на C# практически нет. На Delphi малость могу... Но это обещает породить зоопарк в стэке Вот эта хрень на powershell выполняет запрос к SOAP и пишет ответ в файл Код: powershell 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.
А вот так, выглядят данные которые она обрабатывает автор$URL http://ksb3.zzzzz.ru/webservice/ewebsvc.dll/soap/IewsServer $Action urn:webservice-electrasoft-ru:types-ewsServerIntf-IewsServer#Login $SOAPRequest <?xml version="1.0" encoding="utf-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:xs=" http://www.w3.org/2001/XMLSchema" xmlns:ns2="urn:webservice-electrasoft-ru:types-ewsServerIntf" xmlns:ns1=" http://www.borland.com/namespaces/Types"> <SOAP-ENV:Body> <m:Login xmlns:m="urn:webservice-electrasoft-ru:types-ewsServerIntf-IewsServer" SOAP-ENV:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/"> <ConnectionID xsi:type="xs:string"></ConnectionID> <UserAlias xsi:type="xs:string">Segddatrjgav</UserAlias> <Password xsi:type="xs:string">fakfjakj123</Password> <Language xsi:type="xs:string">RU</Language> <ProfileID xsi:type="xs:string"></ProfileID> <ContextXML xsi:type="xs:string"></ContextXML> <Timeout xsi:type="xs:unsignedInt">1800000</Timeout> </m:Login> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Данные просто генерируются сервером. Голым Т-SQL. ЗЫ. Есть такая БЕСПЛАТНАЯ шняга "Fiddler" - он перехватывает и показывает веб-запроcы/ответы любой (ну почти) программы. Можно посмотреть и сравнить, если есть работающий пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 17:18 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
написал CLR, скопипастил с интернета статейную Код: c# 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. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93.
вызываю Код: sql 1.
получаю хрень: { "MSG": "22.12.2020 17:15:46 ������ GET ������ � ���� Srvr=\"SERVERNAME\";Ref=\"SERVICENAME\";.", "surname": "������", "name": "����" } Как сконвертировать полученный JSON в читабельное чтиво? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 17:20 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
aleks222 Говнокод, который пишут вокруг обертки требует изрядных затрат времени на написание. Чушь какая. Сгенерить обертки при наличии навыка - дело 2 минут. Если данные после этого надо пулять сразу в базу - ещё пара десятков строк. Это гораздо меньше строк г/кода на T-SQL с ручным составлением/парсингом SOAP, и пишется всё это гораздо быстрее. Сервис типа загрузки в базу курсов валют ЦБ РФ - популярная на этом форуме тема - пишется до рабочего состояния (с ведением логов, оповещением по почте об ошибках) за полчаса. Утверждаю это по факту наличия соответствующего опыта. aleks222 Не говоря уж о нервах. Когда с этим чудом сталкиваешься, внезапно. Ну, у всех бывают неприятные ощущения, когда вдруг выясняется, что чего-то не знаешь. Однако это вовсе не говорит о том, что предмет, о котором отсутствуют знания - плохой. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 17:55 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Извините, я вас все же перебью в диспуте. У меня вопрос и как его побороть пока не решил. Помогите, пожалуйста с проблемой Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 17:57 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
я уже пробовал req.ContentType = "application/json; charset=utf-8"; req.ContentType = "application/json; charset=widows-1251"; req.ContentType = "text/xml" ничего не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 18:02 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник, Посмотрите заголовки ответа, какая там кодировка ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 18:02 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Через браузер выполнил. Нет тут ничего ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 18:20 |
|
|
start [/forum/topic.php?fid=46&msg=40029858&tid=1685260]: |
0ms |
get settings: |
10ms |
get forum list: |
27ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
88ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 205ms |
0 / 0 |