|
Web сервис не срабатывает на один определенный пакет из многих | ☑ | ||
---|---|---|---|---|
0
bvb
23.03.20
✎
14:43
|
У меня стоит Web сервис на прием входящих пакетов от ВМС системы.
Пакеты приходя на IIS, который их переправляет в 1С В 1С в Web описана одна процедура, которая принимает все входящие пакеты преобразует их из base64 в XML и далее отправляет на обработку Функция LoadDoc(Data) СтрокаXML = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(Data),КодировкаТекста.ANSI); РезультатРазборки = ОбработатьFlasBack (СтрокаXML); Сделали новый вид пакета и именно он не долетает до 1С. ВМС видит что он обработан, в логах Веб сервера он виден тоже, а до 1С он не долетает. Мистика какя то то КАк быть ? Где его ловить и как проследить куда он девается? |
|||
1
arsik
гуру
23.03.20
✎
14:59
|
(0) "Сделали новый вид пакета" - это что значит?
|
|||
2
palsergeich
23.03.20
✎
15:39
|
(0) между в модуле веб сервиса и приемом пакета 1с - есть вшитое библиотечное преобразование XML в XDTO.
возьми этот пакет из логов и прочитай его руками в коде - скорее всего или нелегальные символы там есть или покет не соответствует формату |
|||
3
bvb
23.03.20
✎
15:52
|
(1)
вот корректно прилетает и корректно обрабатывается <?xml version="1.0" encoding="windows-1251"?> <DOC> <DOC_OUT> <NUMBER>SHIP-7626481</NUMBER> Вот не прилетает вообще <?xml version="1.0" encoding="windows-1251"?> <cwms:STOCK xmlns:wb="http://fsrar.ru/WEGAIS/TTNSingle_v3" xmlns:ce="http://fsrar.ru/WEGAIS/CommonV3" xmlns:cwms="cwms3000.ru"> < FD >23.03.2020 09:15:00</ FD > < CONTRAGENT_N >7</ CONTRAGENT_N > <REC>…. (2) Где этот лог брать. У меня точка входа в процедуру веб сервиса - текст в base 64 Вот в первом случае он не долетает а в втором нет. |
|||
4
arsik
гуру
23.03.20
✎
16:03
|
(3) В журнале регистраций 1С смотреллли?
|
|||
5
palsergeich
23.03.20
✎
17:09
|
(3) "Вот не прилетает вообще
<?xml version="1.0" encoding="windows-1251"?> <cwms:STOCK xmlns:wb="http://fsrar.ru/WEGAIS/TTNSingle_v3"; xmlns:ce="http://fsrar.ru/WEGAIS/CommonV3"; xmlns:cwms="cwms3000.ru"> < FD >23.03.2020 09:15:00</ FD > < CONTRAGENT_N >7</ CONTRAGENT_N >" Вот он же у тебя есть. Просто возьми и в коде его прочитай XDTO Смущает <cwms:STOCK xmlns:wb="http://fsrar.ru/WEGAIS/TTNSingle_v3"; xmlns:ce="http://fsrar.ru/WEGAIS/CommonV3"; xmlns:cwms="cwms3000.ru"> |
|||
6
bvb
23.03.20
✎
19:21
|
(5)понял
Если я его гружу процедурой обработки минуя веб сервис XDTO разбирает его нормально |
|||
7
Сияющий в темноте
23.03.20
✎
23:43
|
используйте лучше http-сервис
он все,что пришло,в функцию обработки отсылает. |
|||
8
bvb
25.03.20
✎
11:02
|
Судя по сообщению об ошибке в передающей системе пакет гибнет гдето в недрах IIS
https://yadi.sk/i/SL2hKXjiA7MMfQ или я не прав ? |
|||
9
arsik
гуру
25.03.20
✎
11:29
|
(8) Мне кажется не знает iis ничего про структуру данных, разборкой 1С занимается.
|
|||
10
palsergeich
25.03.20
✎
11:34
|
(8) Что я и говорил - что то не то со схемой или есть нелегальный символ.
ИИС тут не причем - он получает на вход и отдает в dll 1с, это уже ответ 1с ДО инициации модуля веб сервиса. Для чистоты эксперимента - нужно сообщение сохранить в файл, не скоприовать из лога, и именно сдампить в файл и прочитать его XDTO руками в 1с. Хотя возможен еще вариант - что что то не так в фунции соап - например миссклик по параметру и выбран не тот тип, который приходит в пакете. Сравни еще входные параметры в файле и в пакете XDTO - там может быть ошибка |
|||
11
bvb
25.03.20
✎
11:59
|
(10)
1. Схемы нет и не ипользую 2. Ни до каких пакетов XDTO дело не доходит 3. Все остальные пакеты, построенные по той же схеме валятся нормально 4. ВМСники отправляют искомый XML обернуты в base64 обернутый, а base64 в свою очередь обернут в XML При отправке из ВМС это выглядит так : <?xml version="1.0" encoding="windows-1251"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="Polini.com" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="Polini.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <tns:LoadDoc> <tns:XML>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUxIj8+CjxT VE9DSyB4bWxuczp3Yj0iaHR0cDovL2ZzcmFyLnJ1L1dFR0FJUy9UVE5TaW5nbGVf djMiIHhtbG5zOmNlPSJodHRwOi8vZnNyYXIucnUvV0VHQUlTL0NvbW1vblYzIiB4 bWxuczpjd21zPSJjd21zMzAwMC5ydSI+CiAgPEZEPjI0LjAzLjIwMjAgMTI6NTI6 NDM8L0ZEPgogIDxDT05UUkFHRU5UX04+NjwvQ09OVFJBR0VOVF9OPgogIDxSRUM+ Я получаю строку base64 в модуль веб сервиса : VE9DSyB4bWxuczp3Yj0iaHR0cDovL2ZzcmFyLnJ1L1dFR0FJUy9UVE5TaW5nbGVf djMiIHhtbG5zOmNlPSJodHRwOi8vZnNyYXIucnUvV0VHQUlTL0NvbW1vblYzIiB4 bWxuczpjd21zPSJjd21zMzAwMC5ydSI+CiAgPEZEPjI0LjAzLjIwMjAgMTI6NTI6 NDM8L0ZEPgogIDxDT05UUkFHRU5UX04+NjwvQ09OVFJBR0VOVF9OPgogIDxSRUM+ Но он должен прилетать ПОЛЮБОМУ. А он не прилетает... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |