|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник, не очень давно грыз аналогичный кактус через sp_OA... Закончил тем, что написал CLR процедуры на C# Сервисы WSDL (как и у Вас). Visual Studio в этом плане очень удобна тем, что по при добавлении ссылки на службу, имеющей такое описание создает полную обвязку методов по коду. Как результат - вызов метода в c# - 2-3 строки. Вход-выход - структуры и типы данных CLR. Кодировки, контроль типов? Чур меня, это к json-щикам. Обвязка по коду для входных параметров, выходных наборов данных процедур заняла в разы больше места, чем вызов веб-сервисов. Из тонкостей - если целевой mssql старше 2008R2, то генерить обвязку сервиса в совместимости с framework 2, т.к. в более старших версиях mssql сборки могут быть только управляемые, без нативного кода. А в последних студиях генерится обёртка по умолчанию слегка не попадающая под эти условия. Пару дней гугла с уровнем знаний в c# чуть > 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2020, 20:57 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Владислав Колосов принимаемая строка в UTF-8, то ее надо конвертировать в Unicode. Не осилил я . Весь вечер просидел в гугле и не нашел решения прошу помощи, всезнающий алл ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 00:10 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник Владислав Колосов принимаемая строка в UTF-8, то ее надо конвертировать в Unicode. Не осилил я . Весь вечер просидел в гугле и не нашел решения прошу помощи, всезнающий алл Попробуйте изменить Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 08:35 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
HandKot, Увы, не помогло... я чуть перестроил функцию. Но это по наитию. Сказать, что я руководствовался какими-то знаниями, не могу. Так как я C# не знаю от слова совсем. Сделал так: Код: 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.
и при вызове Код: sql 1.
я получаю: SQL{ "MSG": "23.12.2020 9:20:09 ������ GET ������ � ���� Srvr=\"SERVERNAME\";Ref=\"SERVICENAME\";.", "surname": "�������", "name": "����" } версия 1 Код: c# 1.
но ведь версия 1 кириллическая!!!! Значит в CLR уже приходит чушь? Однако в браузере то все читаемое... Код: 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. 33. 34. 35.
вроде везде nvarchar , я не понимаю, что я делаю не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 09:23 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник, Возьмите бесплатный postman, сделайте вызов в нём и посмотрите http-заголовки ответа. Там среди прочего должна быть кодировка ответного сообщения. Возможно, вам нужен не Encoding.UTF8, а наоборот Encoding.GetEncoding(1251) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 09:50 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
ожидаю пока, чего программист на стороне веб-сервиса прикрутит. говорит, что он понял в чем проблема. отпишусь по результату. в вебсервис приходит кириллица. а в ответ что отдается - мне пока не понятно... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 10:07 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник вроде везде nvarchar , я не понимаю, что я делаю не так. MSSQL до 2019-й версии не поддерживает UTF-8 ( nvarchar - это UCS-2 , т.е. UTF-16), поэтому либо костылить перекодировку самому, либо, если сервер 2019-й, поиграться с collation . Либо, как тут уже не раз писали, перестать есть кактус и, перенести решение этой задачи на другую платформу (CLR SP/внешний сервис). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 10:12 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Двоичник вроде везде nvarchar , я не понимаю, что я делаю не так. MSSQL до 2019-й версии не поддерживает UTF-8 ( nvarchar - это UCS-2 , т.е. UTF-16), поэтому либо костылить перекодировку самому, либо, если сервер 2019-й, поиграться с collation . Либо, как тут уже не раз писали, перестать есть кактус и, перенести решение этой задачи на другую платформу (CLR SP/внешний сервис). Если есть возможность почитать мои сообщения выше, то в них именно о том и говорится, что я перевел на CLR. И в настоящее время я бьюсь именно в этом направлении. В конечном итоге, совместно с разработчиком со стороны веб-сервиса выяснили, что он ранее передавал мне данные в ANSI, а я их читал в UTF-8. После того, как он у себя назначил кодировку UTF-8, то все и заработало как ожидаемо. Всем спасибо, расходимся ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 10:24 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник он ранее передавал мне данные в ANSI, а я их читал в UTF-8 env среди прочего должна быть кодировка ответного сообщения. Возможно, вам нужен не Encoding.UTF8, а наоборот Encoding.GetEncoding(1251) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2020, 10:47 |
|
HTTPS over T-SQL
|
|||
---|---|---|---|
#18+
Двоичник Владислав Колосов принимаемая строка в UTF-8, то ее надо конвертировать в Unicode. Не осилил я . Весь вечер просидел в гугле и не нашел решения прошу помощи, всезнающий алл Когда-то мне было нужно. Фсе это просто и незатейливо. Код: 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. 33. 34. 35. 36. 37.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2020, 06:20 |
|
|
start [/forum/topic.php?fid=46&msg=40030382&tid=1685260]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
120ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 212ms |
0 / 0 |