07.03.2018 06:34
nata44845
 
CENTRUM Set Retail 05.02.80.040

Не принимает данные от нескольких магазинов.

Журнал службы Transport

Код:
07.03.2018 00:00:19.940 ERROR: Поток транспорта Чеков.106.Cheque: 	stopPut: Описание ошибки "Invalid unicode character.".
07.03.2018 00:00:19.940 TRACE: Поток транспорта Чеков.106.Cheque: 	stopPut (SQL = EXEC cp_TransChequeWrite ?, ?;
 xmlString = <?xml version="1.0" encoding="windows-1251" ?> <ROOT><HDR _Operation_="0" GangStart="2017-12-17T09:52:00" OperDay="20171217" ShopIndex="106" ShopIndexKKM="106" Id="1994628" Operation="P" Cash_Code="34" NSmena="180" DateOperation="2017-12-17T14:11:27" Ck_Number="119" ControlTape="0" Cassir="301" Summ)
com.microsoft.sqlserver.jdbc.SQLServerException: Описание ошибки "Invalid unicode character.".
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:156)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1373)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:371)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:322)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4003)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1550)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:160)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:133)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:304)
	at ru.crystalservice.setexchanger.datalinks.DBPrintWriter.stopPut(Unknown Source)
	at ru.crystalservice.setexchanger.datalinks.DB.stopPutData(Unknown Source)
	at ru.crystalservice.setexchanger.transports.TCPIPExchanger.processServerDest(Unknown Source)
	at ru.crystalservice.setexchanger.transports.TCPIPExchanger.processServerSide(Unknown Source)
	at ru.crystalservice.setexchanger.transports.TCPIPExchanger.processConnection(Unknown Source)
	at ru.crystalservice.setexchanger.transports.Exchanger.run(Unknown Source)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
На обратной стороне
Код:
07.03.2018 10:28:19.562 WARN : Поток транспорта чеков.-1.Cheque. Сервер не прислал ACCEPT: SERVER ERROR Поток транспорта Чеков.106.Cheque: stopPutData - PUT Exception
07.03.2018 10:28:21.424 DEBUG: Поток транспорта чеков.-1.Cheque >>> PUT
Остальные отделы принимает нормально
Кодировка везде Cyrillic_General_CI_AS

Вопросы могут быть с версиями на стороне магазина (6.0.001), но из других магазинов с той же версией все приходит.

Не знаю, как он передает данные, если это файлы, где их посмотреть?
15.03.2018 12:02
vitamin
 
А если так, остановить транспорт, очистить transfercmd на магазине. Запустить транспорт. В таблице с чеками установить taken=0, могу ошибаться с 5 сетом уже давно дел не имею.
06.04.2018 08:49
nata44845
 
Цитата:
vitamin А если так, остановить транспорт, очистить transfercmd на магазине. Запустить транспорт. В таблице с чеками установить taken=0, могу ошибаться с 5 сетом уже давно дел не имею.
Понятно, что так можно, но при этом данные по чекам на CENTRUM не упадут.
Хочется разобраться, что за символ и вообще где посмотреть, какие он данные передает?
06.04.2018 09:42
nata44845
 
Нашла процедуру cp_TransChequeWrite
Вставила у нее в начале

insert into TEST1(A) VALUES(@xml_data)

таблицу TEST1 создала соответственно, столбец типа text

Потом сохранила содержимое в файл, изучаю
06.04.2018 09:52
nata44845
 
В общем причина, те строки, которые кривые приходят с двойными кавычками вокруг каждого значения, и кавычкой впереди и в конце.

<?xml version="1.0" encoding="windows-1251" ?> <ROOT><HDR _Operation_="0" GangStart="2018-04-06T06:08:00" OperDay="20180406"

"<?xml version=""1.0"" encoding=""windows-1251"" ?> <ROOT><HDR _Operation_=""0"" GangStart=""2018-03-08T09:18:00"" OperDay=""20180308""

Для примера. Что с этим делать вопрос.
Часовой пояс GMT +3, время: 11:08.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.