19.04.2024
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум (скрипты, вопросы...) » BNComplex » Скрипты для BNComplex » Пересылка данных (SOAP sender)
Пересылка данных (SOAP sender)
19216813Дата: Вторник, 13.08.2013, 14:50 | Сообщение # 1
Челябинск
Группа: Проверенные
Сообщений: 19
Репутация: 2
Статус: Offline
Установили процесс как службу, создали пользователя, создали ему подпуску на технику, а данные не идут. В папке transfer gate\DATA  данные копятся.
В логах сообщения только по одному прибору, хотя подписка сделана на неколько:
Код
13/08/2013 11:40:44.185 (D) XML Data  DeviceID: 00066094.
<?xml version="1.0" encoding="windows-1251"?>

<soapenv:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope">

<soapenv:Header/>

<soapenv:Body>

<ws:PutCoord>

<ObjectID>00011111</ObjectID>

<Coord time="2013-04-17T02:24:21Z" lon="5.022408" lat="55.059523" speed="0.0" dir="0" valid="1"/>

<AddInfo motion="0" dist="0" online="1" mileage="0.0"/>

<DigI inpnum="7"/>

<DigI inpnum="8"/>

</ws:PutCoord>

</soapenv:Body>

</soapenv:Envelope>


Дата почему то старая, хотя прибор регулярно выходит на связь. сообщения в логах появляются даже если прибор выключен. Подскажите куда глянуть?
 
logoffДата: Вторник, 13.08.2013, 16:28 | Сообщение # 2
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
видимо сбой в передачи данных какой-то - данную удаляются, когда принимающий сервер дает ответ, что все нормально.
Видимо такого ответа нет, потому пакет гоняется по кругу один и тот же.
 
19216813Дата: Среда, 14.08.2013, 07:12 | Сообщение # 3
Челябинск
Группа: Проверенные
Сообщений: 19
Репутация: 2
Статус: Offline
странно что по одному и томуже прибору данные пытается отправить, я его уже из подписки убрал, но все равно в логе сообщения только по нему идут. может еще какие настройки есть?
 
logoffДата: Среда, 14.08.2013, 19:05 | Сообщение # 4
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
кусок данных для отправки забрал soap себе, и будет гонять его пока не отправит, или пока у него время жизни не кончится
файлик находится в одном из каталогов внутри папки с soap sender-ом
 
KirillДата: Четверг, 22.08.2013, 08:47 | Сообщение # 5
Томск
Группа: ГЛОНАСС-Мастер
Сообщений: 54
Репутация: 2
Статус: Offline
поди службу только у м2м скачали и подняли, а права на запись дать забыли ?)
 
19216813Дата: Понедельник, 02.09.2013, 11:16 | Сообщение # 6
Челябинск
Группа: Проверенные
Сообщений: 19
Репутация: 2
Статус: Offline
А на что права надо дать, можно подробнее?
и еще какие-нибудь порты еще надо открыть кроме тех, что указаны  в  [Http_Connection_1] ?
 
logoffДата: Вторник, 03.09.2013, 15:01 | Сообщение # 7
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
я думаю, имелось ввиду права на папку для пользователя, от имени которого запускается служба.
 
19216813Дата: Четверг, 05.09.2013, 07:39 | Сообщение # 8
Челябинск
Группа: Проверенные
Сообщений: 19
Репутация: 2
Статус: Offline
Да, на директории права есть. А по портам что подскажете? Кто нибудь сможет проверить в момент соединения какие порты открывает для соединения?
 
logoffДата: Четверг, 05.09.2013, 10:30 | Сообщение # 9
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Порт вам должен дать сервер, куда вы данные пересылаете (если связка BNC->BNC то это должно быть SOAP sender->SOAP reciver).
Вопрос опять в том, что данные от вас не уходят (соап не может их переслать почему-то), по той или иной причине.
 
19216813Дата: Четверг, 05.09.2013, 15:40 | Сообщение # 10
Челябинск
Группа: Проверенные
Сообщений: 19
Репутация: 2
Статус: Offline
Просто нигде не могу найти точную схему обмена данными. Данные не то что совсем не уходят, уходит одна координата (первая в списке). Вопрос в следующем: должен ли сервер кот принимает данные отправить на наш какой-либо ответ. Если да то на какой порт?
Если нет, то каким образом наш сервер определяет что можно высылать следующую координату?
 
logoffДата: Четверг, 05.09.2013, 19:15 | Сообщение # 11
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Эм... ваш сендер запрашивает связь с ресивером - вот и образуется труба для передачи данных (порт ресивера при этом фиксирован, порт сендера - практически любой). Порт вероятнее всего используется для этого любой, не занятый системой. Соответственно ваш роутер должен подобные сценарии соединения пропускать (в принципе оно мало чем отличается от обычного серфинга в интернете, только разве что портом). После установления связи ("трубы"), обычно уже не контроля в какую сторону передаются через нее данные.
Проверьте для начала, что удаленный порт доступен, так же можно попробовать зайти через браузер на url,куда вы передаете данные - обычно при этом вы должны получить ошибку отличную от той, что такой адрес вообще не существует
Ресивер должен подтвердить приемку (обратный пакет), после чего уже он удаляется из очереди.
 
ValeronДата: Среда, 11.09.2013, 09:33 | Сообщение # 12
Группа: Проверенные
Сообщений: 36
Репутация: 2
Статус: Offline
;Server№1(10.10.10.10) - Sender

[Common]Log Name=C:\BNComplex\Logs\SOAP_Sender.log
Flags Dir=C:\BNComplex\CfgFlags
Config Flag Name=SOAPsndrCfg.flg
Logger Port=7001
Logger IP=127.0.0.1
ID For Logger=14
Log Size=128000
Debug=6
Port Number=6115
Extended
log=1

[Http_Connection_1]
Server address=20.20.20.20   ;ip-адресс,на который отправляются данные.
Server port=2065
Request object=/gate1
Auth User name=office      ;пользователь на котором отпр.данные.
Auth User password=1234 ;пароль к пользователю на котором отпр.данные.
Use SSL=0
Keep
Alive=1
Connect Timeout=9000
Receive Timeout=6000
Ack Wait Timeout=3000

[Data]User ID=0000000015 ;(польз - test, пароль - test) ;пользователь с подписками которые отправляет данные на server2
Data dir=C:\BNComplex\BN Transfer Gate\Data
Comm packet length=10
Coord packet length=100
Retry count=0
Valid duration=900000000
Upload Period=10
Upload Coords=1
_____________________________________________________________________________________________
;Server №2(20.20.20.20) - Receiver

[Common]Log Name=C:\BNComplex\Logs\SOAP_Receiver.log
Log Size=128000
Debug=6
Port Number=6115
Logger Port=7001
Logger IP=127.0.0.1
ID For Logger=13
API version=2 ; windowsserver 2008R2
Flags Dir=C:\BNComplex\CfgFlags
Config Flag Name=SOAPReceiverCfg.flg
Logs Path=C:\BNComplex\Logs
Extended log=1

[Server Connector]
Queue File=C:\BNComplex\SOAP Receiver\SConnOut.dat
ConnID=9
IP Address=127.0.0.1
TCP Port=7005
Reconnect Interval=30000

[Http Connection]
AuthType=basic
Basic Realm=server auth request
User Name=test ;пользователь c которого будут приходить данные, с сервера№1
User Pswd=test ;пароль к пользователю с которого будут приходить данные.
Listen URL1=https://10.10.10.10:2065/gate1
User ID1=0000000015 ;idпользователя с которого будут идти данные, т.е с server№1
Remove Dev Prefix=1
Change Dev Prefix To=00

Правильно ли я настроил Sender и Recevier?


Сообщение отредактировал Valeron - Среда, 11.09.2013, 09:45
 
logoffДата: Среда, 11.09.2013, 23:30 | Сообщение # 13
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
нет, не правильно.
1. если у вас в рисевере
User Name=test
User Pswd=test

то и в сендере должно быть ТОЖЕ САМОЕ
Auth User name=test
Auth User password=test

2. раз уж вы в сендере указали Use SSL=0, то почему вы ждете входящее сообщение на https адресе?
Listen URL1=http://10.10.10.10:2065/gate1
я бы еще добавил
Listen URL2=http://127.0.0.1:2065/gate1
ну и
User ID2=

3. А почему в вас ID пользователей=то совпадают на сендере и ресивере?...

4. Подумайте как следует - стоит ли при приемке УДАЛИТЬ ПРЕФИКС от приборов?
ведь именно этим занимается
Remove Dev Prefix=1
но тут вам виднее. Я лично, при передачи между "своими" серверами префикс оставляю тот, который был определен сервером первым в цепочке.
Но тут вам виднее.

5. У вас реально MW служба на сервере где reciver живет на порту TCP Port=7005 ???
ведь именно туда ваш ресивер пытается данные отдавать...
я бы советовал проверить ее настройки, вероятнее всего в файле mw.ini будет

[Connections]Max Front Connections=10
Front Bind Address=127.0.0.1
Front Server Port=7000

или близкое

6. Если у вас там BNC 1.5 (когда две фактически службы MW), то и нужно два подключения...
например вот настройка для двух MW.... опять же, адреса портов где работает MW надо смотреть в его Ini

[Server Connector]
Queue File=C:\BNComplex\SOAP Receiver\SConnOut.dat
Conn ID=101
IP Address=127.0.0.1
TCP Port=7000
Reconnect Interval=30000

[Server Connector 2]
Queue File=C:\BNComplex\SOAP Receiver\SConnOut2.dat
Conn ID=102
IP Address=127.0.0.1
TCP Port=6999
Reconnect Interval=30000

 
[Server Connector 2]
Queue File=C:\BNComplex\SOAP Receiver\SConnOut2.dat
Conn ID=102
IP Address=127.0.0.1
TCP Port=6999
Reconnect Interval=30000

кажись на этом все...
 
ValeronДата: Четверг, 12.09.2013, 07:33 | Сообщение # 14
Группа: Проверенные
Сообщений: 36
Репутация: 2
Статус: Offline
[Common]Sender 10.10.10.10
Log Name=C:\BNComplex\Logs\SOAP_Sender.log
Flags Dir=C:\BNComplex\CfgFlags
Config Flag Name=SOAPsndrCfg.flg
LoggerPort=7001 ; я так понял этот порт у всех одинаков
Logger IP=127.0.0.1
ID For Logger=12 ; вручную вбивать в LoggerService.ini и смотреть номер id?
Log Size=128000
Debug=6
Port Number=6115
Extended log=1

[Http_Connection_1]
Server address=20.20.20.20
Server port=2065 ; как просмотреть открыт или закрыт порт и т.д и т.п? netstat –a? Какой порт лучше брать?
Request object=/gate1
Auth User name=office ;пользовательна котором будут идти данные с id=15 (test, test).
Auth User password=1234
Use SSL=0
Keep Alive=1
Connect Timeout=9000
Receive Timeout=6000
Ack Wait Timeout=3000

[Data]User ID=0000000015 ; пользователь с которого идут данные. (test, test)
Data dir=C:\BNComplex\BN Transfer Gate\Data
Comm packet length=10
Coord packet length=100
Retry count=0
Valid duration=900000000
Upload Period=10
Upload Coords=1
_____________________________________________________________________________________________
[Common]Receiver 20.20.20.20
Log Name=C:\BNComplex\Logs\SOAP_Receiver.log
Log Size=128000
Debug=6
Port Number=6115
LoggerPort=7001 ; я так понял этот порт у всех одинаков
Logger IP=127.0.0.1
ID For Logger=13 ; вручнуювбивать
в LoggerService.ini и смотреть номер

id?
API version=2 ;если данные идут с server2008R2, то ставим 2?
Flags Dir=C:\BNComplex\CfgFlags
Config Flag Name=SOAPReceiverCfg.flg
Logs Path=C:\BNComplex\Logs
Extended log=1

[Server Connector]
Queue File=C:\BNComplex\SOAP Receiver\SConnOut.dat
Conn ID=101 ; где смотреть этот номер id?
IP Address=127.0.0.1
TCPPort=7000 ;посмотрелв mw.ini
Reconnect Interval=30000

[Http Connection]
AuthType=basic
Basic Realm=server auth request
User Name=office ;пользователь на котором будут идтиданные с id=15 (test, test).
User Pswd=1234
Listen URL1=https://20.20.20.20:2065/gate1
Listen URL2=https://127.0.0.1:2065/gate1
User ID1=0000000029 ; id=29 (office, 1234)
User ID2=0000000029
Remove Dev Prefix=1
Change Dev Prefix To=00

Вроде все сделал по фен-шую, но работать не хочет)


Сообщение отредактировал Valeron - Четверг, 12.09.2013, 07:35
 
logoffДата: Четверг, 12.09.2013, 08:34 | Сообщение # 15
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Опять в приемнике Listen URL1=https://20.20.20.20:2065/gate1
исправьте на http - вы же все равно не используете SSL... (буква s в https как раз и означает Secure)
проверить адрес можно браузером, с сервера где стоит сендер
адрес http://20.20.20.20:2065/gate1
так как у вас авторизация 
AuthType=basic 
Basic Realm=server auth request 

то должен появиться запрос на ввод пользователя и пароля
и при вводе правильного сочетания
office
1234
сервер выдаст вам...
ошибку http 405 - метод запрещен (Explorer)
или надпись Method not supported! (Chrome)
ибо вы не совсем правильно обратились к серверу... и это НОРМАЛЬНО. главное, что у вас есть запрос пароля и пользователя - значит приемник готов принимать (порт открыт, приемник работает)

про логирование через службу написано вот тут
http://bnc.ucoz.net/load....-1-0-36

для начала, уберите использование логера... для этого закоментировать 
;Logger IP=127.0.0.1 
в обоих случаях
порт же надо тоже смотреть в LoggerService.ini (на каждом сервере, но обычно это именно 7001)- на каком порту именно принимает данные ваша служба логирования.

если ip адрес службы логирования будет не указан, то логи будут тогда писаться в настройку, указанную в 
Log Name=C:\BNComplex\Logs\SOAP_Sender.log 

Для первичной настройки - самое то.
Когда логи таки появятся, уже можно будет настроить и службу... а можно и забить на нее для логов...
 
Форум (скрипты, вопросы...) » BNComplex » Скрипты для BNComplex » Пересылка данных (SOAP sender)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

LogOff © 2024
Сайт создан в системе uCoz Рейтинг GPS Клуба. GPS навигаторы. GPS мониториг. GPS трекеры. ГЛОНАСС