|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Пытаюсь отправить запрос на веб сервис следующим способом Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Но при длинном responseBody (предполагаю больше 8000 байт), возвращается NULL. Хотя браузер возвращает все корректно и responseText тоже возвращает данные (но с крякозябрами вместо русских символов). При небольших ответах все возвращается корректно. В чем может быть проблема? Изначально использовал x nvarchar(max) и responseText, но там не устроило то что sql не умеет корректно отображать кириллицу, возвращаемую в utf-8. Поэтому решил возвращать массив байт и преобразовывать их через clr в utf-8. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2020, 22:22 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Чудное рядом. Получается, чтобы выполнить get-запрос, clr вы писать не хотите, а конвертеры всякие хотите. В общем, не будьте как мыши и не ешьте кактус, и не будете исколоты. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 00:55 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452, Любую внешнюю по отношению к серверу нагрузку (особенно асинхронные вызовы) я бы советовал решать через использование очередей Service Broker + внешнее приложение. протестите что вообще возвращает объект ole-автоматизации, создайте аналог вашего вызова в скрипте powershell или VB ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 01:56 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
felix_ff, У меня есть аналог на clr. Просто он, субъективно , работает медленнее. Менее гибкий к изменениям. А объекты ole возвращают то что у них просишь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 08:05 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Ну, это классическая ошибка начинающего - думать, что SQL server является сервером приложений или средой разработки прикладного ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 12:11 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Владислав Колосов, Так, если он позволяет решать поставленные задачи, то почему НЕТ? Потому что так не принято? Или есть более объективные причины? И причем здесь сервер приложений, если нужно просто сделать за прос к конечной точке и получить ответ в json? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 17:32 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452, процедуры sp_oa и xp_cmdshell являются потенциально опасными компонентами. во-первых для их запуска требуются широкие права доступа (не каждому хочется давать sysadmin на сервер) во-вторых через эти компоненты можно запускать скрипты которые могут нарушить нормальную работу сервера. ну и в третьих вы сами видите некоторые артефакты их работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 17:41 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452, сервер приложений потому, что выполняется программа, т.е. приложение. Они никак не связана в функцией сервера баз данных. Просто есть возможность, за которую Вы ухватились. На сервере с двумя десятками процедур и единственным администратором проблем не будет. Проблемы возникнут при разработке производственной базы. Внезапно окажется, что недостаточно прав или что-то не установлено или политика безопасности запрещает OLE автоматизацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 17:57 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Так, если я взялся за это, то наверно эти моменты были учтены. И права sa не обязательны, всегда есть роли приложений и execute as. Так что не все так однозначно при продуманном подходе ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 20:05 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452 Так, если я взялся за это, то наверно эти моменты были учтены. И права sa не обязательны, всегда есть роли приложений и execute as. Так что не все так однозначно при продуманном подходе ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 20:45 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, Когда используешь новый для себя инструмент, заранее не знаешь о подводных камнях. И когда пишешь вопрос на форуме, то ожидаешь помощи по нему, а не флуда, типа зачем тебе это надо. По мне так если нечего ответить на заданный вопрос, то и комментарии оставлять не за чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 21:49 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452 И когда пишешь вопрос на форуме, то ожидаешь помощи по нему, а не флуда, типа зачем тебе это надо. lex452 По мне так если нечего ответить на заданный вопрос, то и комментарии оставлять не за чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 23:42 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452, Попробуйте сделать com-объект, который будет инкапсулировать запрос к внешнему ресурсу и разобраться какой ответ сервис возвращает. Еще есть инструменты типа fiddler’a чтобы понять что происходит(запрос/ответ) в результате запроса к внешнему ресурсу. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 00:05 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452 Гавриленко Сергей Алексеевич, Когда используешь новый для себя инструмент, заранее не знаешь о подводных камнях. И когда пишешь вопрос на форуме, то ожидаешь помощи по нему, а не флуда, типа зачем тебе это надо. По мне так если нечего ответить на заданный вопрос, то и комментарии оставлять не за чем. lex452, я не в коем образе не хочу сказать что вариант использования sp_oa не имеет место жизни, но Вам дают совет как обычно решаются задачи которые вы стараетесь решать через инструмент не сильно для этого предназначенный. Ваше право реализовать требуюмую задачу всеми подручными средствами, но просто прислушайтесь к совету что такие задачи обычно решаются несколько иными инструментами. что будет тогда когда изменится ответ от веб-сервиса? что будет тогда когда веб-сервис станет недоступен? что будет тогда когда в веб-сервис будет передан неверный запрос? и.т.д. - вы получите в лучшем случае ошибку пустой результат без описания конкретной ошибки, в худшем вы будете ожидать ресурса никак не связанного с процессом сервера, которые не будет завершен в ожидаемое время. знаю программиста который писал прикладное ПО на статических полях онли и оно работало в продакшене, но этот факт не превращает говнокод в конфету. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 00:09 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452, а как вы планируете это решение тестами покрывать? Первый вопрос, что мне всегда задаёт QA Lead ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 08:23 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
skyANA, Тс похоже сам понял что не в правильном направлении движется. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 10:10 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
В целях безопасности обычно закрывают HTTP с сервера БД, кроме всего прочего. Кроме того, при наличии реплики доступности на открывать дополнительные доступы с реплики. Недостатков такого решения достаточно много. Например, сложность отладки и написания автотестов. Применимость для промышленных решений сильно ограничена. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 12:33 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
А последующие вопросы будут от ребят, что отвечают за эксплуатацию на проде: где мониторинг, где хелсчеки? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 13:36 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
skyANA, не у всех есть такие требования. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:01 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
felix_ff что будет тогда когда изменится ответ от веб-сервиса? Ничего не будет, вернется другой ответ felix_ff что будет тогда когда веб-сервис станет недоступен? Вернется ошибка 500 felix_ff что будет тогда когда в веб-сервис будет передан неверный запрос? Вернется ошибка что неправильный запрос felix_ff и.т.д. - вы получите в лучшем случае ошибку пустой результат без описания конкретной ошибки, в худшем вы будете ожидать ресурса никак не связанного с процессом сервера, которые не будет завершен в ожидаемое время. Вообще-то там есть описание ошибок и настройка таймаута, вообще не понимаю к чему вы это написали. И я не пишу веб сервер, я пишу хранимку котороая может отправлять запросы по http ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:05 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Владислав Колосов, Существуют закрытые системы, и если нет явных требований к безопасности и тестированию то для чего мне все это? ПОтому что так принято и все? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:08 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
И раз все так решили поумничать и всего пару человек написали по теме. То предложите как решить задачу, когда существует стороннее ПО, которое умеет вызывать только стандартизованные хранимые процедуры и получать в ответ табличный набор данных, и вот стоит задача, через это ПО получить данные с WEB сервиса. Какое решение можете предложить кроме как обращаться к сервису через transact? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:12 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452 И раз все так решили поумничать и всего пару человек написали по теме. То предложите как решить задачу, когда существует стороннее ПО, которое умеет вызывать только стандартизованные хранимые процедуры и получать в ответ табличный набор данных, и вот стоит задача, через это ПО получить данные с WEB сервиса. Какое решение можете предложить кроме как обращаться к сервису через transact? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:17 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич, И как же положить запрос к web сервису у которого есть только rest api для взаимодействия. И как ПО должно потом узнать что запрос обработан? Есть простое взаимодействие, вызвал хранимку и либо получил данные либо ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:20 |
|
Http request не возвращает responseBody
|
|||
---|---|---|---|
#18+
lex452 Гавриленко Сергей Алексеевич, И как же положить запрос к web сервису у которого есть только rest api для взаимодействия. И как ПО должно потом узнать что запрос обработан? Есть простое взаимодействие, вызвал хранимку и либо получил данные либо ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 15:22 |
|
|
start [/forum/topic.php?fid=46&msg=39978325&tid=1685841]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 166ms |
0 / 0 |