Пересылка данных (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
Для первичной настройки - самое то. Когда логи таки появятся, уже можно будет настроить и службу... а можно и забить на нее для логов...
|
|
| |