На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS

Дорогие друзья! Поздравляем вас с Новым 2025 годом!

Всем удачи, успеха и благополучия!

msm.ru
  
    > Стандарт xml файла. , xml файл от модема содержит лишние переводы строк.
      Вот xml файл, полученный от модема через службу upnp.

      ExpandedWrap disabled
        <?xml version="1.0"?>
        <root xmlns="urn:schemas-upnp-org:device-1-0">
        <specVersion>
        <major>1</major>
        <minor>0</minor>
        </specVersion>
        <URLBase>http://192.168.1.254:80</URLBase>
        <device>
        <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
        <friendlyName>ADSL Modem/Router IGD</friendlyName>
        <manufacturer>ADSL Company</manufacturer>
        <manufacturerURL></manufacturerURL>
        <modelDescription>ADSL Modem/Router IGD</modelDescription>
        <modelName>ADSL Modem/Router IGD</modelName>
        <modelNumber>ADSL Modem/Router</modelNumber>
        <modelURL></modelURL>
        <serialNumber>00000001</serialNumber>
        <UDN>uuid:11111111-0000-c0a8-01fe-80414aa00000</UDN>
        <UPC>000000000001</UPC>
        <iconList>
        <icon>
        <mimetype>image/png</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>8</depth>
        <url>/Images/L48x48x8</url>
        </icon>
        <icon>
        <mimetype>image/png</mimetype>
        <width>32</width>
        <height>32</height>
        <depth>8</depth>
        <url>/Images/L32x32x8</url>
        </icon>
        <icon>
        <mimetype>image/png</mimetype>
        <width>16</width>
        <height>16</height>
        <depth>8</depth>
        <url>/Images/L16x16x8</url>
        </icon>
        </iconList>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:Layer3Forwarding:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:L3Forwarding1</serviceId>
        <SCPDURL>/L3Fwd.xml</SCPDURL>
        <controlURL>/UD/?0</controlURL>
        <eventSubURL>/?0</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:DeviceConfig:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:DeviceCfg1</serviceId>
        <SCPDURL>/DeviceCfg.xml</SCPDURL>
        <controlURL>/UD/?1</controlURL>
        <eventSubURL>/?1</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:DeviceInfo:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:DeviceInfo1</serviceId>
        <SCPDURL>/DeviceInfo.xml</SCPDURL>
        <controlURL>/UD/?2</controlURL>
        <eventSubURL>/?2</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:ManagementServer:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:LANMgmtSrv1</serviceId>
        <SCPDURL>/LanMgmtSrv.xml</SCPDURL>
        <controlURL>/UD/?3</controlURL>
        <eventSubURL>/?3</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:Time:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:Time1</serviceId>
        <SCPDURL>/Time.xml</SCPDURL>
        <controlURL>/UD/?4</controlURL>
        <eventSubURL>/?4</eventSubURL>
        </service>
        </serviceList>
        <deviceList>
        <device>
        <deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType>
        <friendlyName>ADSL Modem/Router IGD</friendlyName>
        <manufacturer>ADSL Company</manufacturer>
        <manufacturerURL></manufacturerURL>
        <modelDescription>ADSL Modem/Router IGD</modelDescription>
        <modelName>ADSL Modem/Router IGD</modelName>
        <modelNumber>ADSL Modem/Router</modelNumber>
        <modelURL></modelURL>
        <serialNumber>00000001</serialNumber>
        <UDN>uuid:22222222-0000-c0a8-01fe-80414aa00000</UDN>
        <UPC>000000000001</UPC>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceTyp
        e>
        <serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
        <SCPDURL>/WanCommonIfc1.xml</SCPDURL>
        <controlURL>/UD/?5</controlURL>
        <eventSubURL>/?5</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:WANDSLInterfaceConfig:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WANDslItfCfg1</serviceId>
        <SCPDURL>/WanDslItfCfg.xml</SCPDURL>
        <controlURL>/UD/?6</controlURL>
        <eventSubURL>/?6</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:WANDSLConnectionManagement:1</serviceType>
         
        <serviceId>urn:upnp-org:serviceId:WANDslCntMgmt1</serviceId>
        <SCPDURL>/WanDslCntMgmt.xml</SCPDURL>
        <controlURL>/UD/?7</controlURL>
        <eventSubURL>/?7</eventSubURL>
        </service>
        </serviceList>
        <deviceList>
        <device>
        <deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType>
        <friendlyName>ADSL Modem/Router IGD</friendlyName>
        <manufacturer>ADSL Company</manufacturer>
        <manufacturerURL></manufacturerURL>
        <modelDescription>ADSL Modem/Router IGD</modelDescription>
        <modelName>ADSL Modem/Router IGD</modelName>
        <modelNumber>ADSL Modem/Router</modelNumber>
        <modelURL></modelURL>
        <serialNumber>00000001</serialNumber>
        <UDN>uuid:33333333-0000-c0a8-01fe-80414aa00000</UDN>
        <UPC>000000000001</UPC>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:WANDSLLinkConfig:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WANDSLLinkC1</serviceId>
        <SCPDURL>/WanDslLink.xml</SCPDURL>
        <controlURL>/UD/?8</controlURL>
        <eventSubURL>/?8</eventSubURL>
        </service>
        <service>
        <serviceType>urn:schemas-upnp-org:service:WANIPConnection:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
        <SCPDURL>/WanIpConn.xml</SCPDURL>
        <controlURL>/UD/?9</controlURL>
        <eventSubURL>/?9</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:WANPPPConnection:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WANPPPConn1</serviceId>
        <SCPDURL>/WanPpp.xml</SCPDURL>
        <controlURL>/UD/?10</controlURL>
        <eventSubURL>/?10</eventSubURL>
        </service>
        </serviceList>
        </device>
        </deviceList>
        </device>
        <device>
        <deviceType>urn:schemas-upnp-org:device:LANDevice:1</deviceType>
        <friendlyName>ADSL Modem/Router IGD</friendlyName>
        <manufacturer>ADSL Company</manufacturer>
        <manufacturerURL></manufacturerURL>
        <modelDescription>ADSL Modem/Router IGD</modelDescription>
        <modelName>ADSL Modem/Router IGD</modelName>
        <modelNumber>ADSL Modem/Router</modelNumber>
        <modelURL></modelURL>
        <serialNumber>00000001</serialNumber>
        <UDN>uuid:44444444-0000-c0a8-01fe-80414aa00000</UDN>
        <UPC>000000000001</UPC>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:LANHostConfigManagement:1</serviceType
        >
        <serviceId>urn:upnp-org:serviceId:LANHostCfg1</serviceId>
        <SCPDURL>/LanHostCfgMgmt.xml</SCPDURL>
        <controlURL>/UD/?11</controlURL>
        <eventSubURL>/?11</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:WLANConfiguration:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WLANCfg1</serviceId>
        <SCPDURL>/WLanCfg.xml</SCPDURL>
        <controlURL>/UD/?12</controlURL>
        <eventSubURL>/?12</eventSubURL>
        </service>
        <service>
        <serviceType>urn:dslforum-org:service:LANEthernetInterfaceConfig:1</serviceType>
         
        <serviceId>urn:upnp-org:serviceId:LANEnetItfCfg1</serviceId>
        <SCPDURL>/LanEnetItfCfg.xml</SCPDURL>
        <controlURL>/UD/?13</controlURL>
        <eventSubURL>/?13</eventSubURL>
        </service>
        </serviceList>
        </device>
        </deviceList>
        <presentationURL>/</presentationURL>
        </device>
        </root>


      Как видно, он содержит пустые строки после тега "</serviceType>"

      Вопрос: соответствует ли это стандарту xml?
      То есть ошибка в программе модема, или мне переделывать свою программу?
      Даже Windows 7 не может найти эти службы модема, которые содержат после тега "</serviceType>" пустые строки.

      Вывод скопирован с консоли cmd.exe.
      В неё текст был направлен с
      ExpandedWrap disabled
        std::string UPNPNATHTTPClient::ReceiveResponce( void )
        {
            std::string res;
            char buff[MAX_BUFFER] = {0};
            int received(0);
            
            timeval timeout = {0};
            timeout.tv_sec = 10;
         
            fd_set rfds;
            FD_ZERO( &rfds );
            FD_SET( pimpl->http_sock, &rfds );
            int err = select( pimpl->http_sock, &rfds, NULL, NULL, &timeout );
            if( 0 == err )
            {
                return string("");
            }
         
            if( FD_ISSET( pimpl->http_sock, &rfds ) )
            {
                while( received = recv( pimpl->http_sock, buff, sizeof(buff), 0 ) > 0 )
                {
                    res += buff;
                    memset( buff, 0, sizeof(buff) );
                }
            }
         
            return res;
        }


      ExpandedWrap disabled
        UPNPNATHTTPClient::SoapResult UPNPNATHTTPClient::GetUPNPServiceDescription(
            std::string &desc
            , const std::string &desc_url
            )
        {
            Impl::Manager connection_raii( this, pimpl.get() );
            if( TCPConnected != pimpl->status )
            {
                return SoapNoConnection;
            }
         
            string request = boost::str(
                boost::format( "GET %s HTTP/1.1\r\nHost: %s:%d\r\n\r\n" )
                % desc_url.c_str()
                % pimpl->host.c_str()
                % pimpl->host_port
                );
            cout << endl << endl << "request:" << endl << endl << request << endl << endl;
            Result res = SendRequest( request );
            if( Succeeded != res )
            {
                return SoapFailed;
            }
         
            desc = ReceiveResponce();
            cout << endl << endl << "desc:" << endl << endl << desc << endl << endl;
            // extracting only the part of the xml.
            if( !desc.empty() )
            {
                size_t xml_head = desc.find( "<?xml" );
                if( string::npos != xml_head )
                {
                    desc = desc.substr( xml_head, desc.length() );
                    return SoapSucceeded;
                }
            }
         
            return SoapFailed;
        }


      Добавлено
      Вот пример вывода нормального модема:

      ExpandedWrap disabled
        <?xml version="1.0"?>
        <root xmlns="urn:schemas-upnp-org:device-1-0">
        <specVersion>
        <major>1</major>
        <minor>0</minor>
        </specVersion>
        <device>
        <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
        <friendlyName>ZyXEL Keenetic DSL</friendlyName>
        <manufacturer>ZyXEL Communications Corp.</manufacturer>
        <manufacturerURL>http://www.zyxel.ru</manufacturerURL>
        <modelDescription>ZyXEL Keenetic DSL</modelDescription>
        <modelName>ZyXEL Keenetic DSL</modelName>
        <modelNumber>279-805-527-050-933</modelNumber>
        <modelURL>http://www.zyxel.ru/keenetic-dsl</modelURL>
        <serialNumber>S132E41012685</serialNumber>
        <UDN>uuid:e22202d5-b2c0-3d0f-e34f-1adc2caf2b68</UDN>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:Layer3Forwarding:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:Layer3Forwarding1</serviceId>
        <controlURL>/ctl/L3F</controlURL>
        <eventSubURL>/evt/L3F</eventSubURL>
        <SCPDURL>/L3F.xml</SCPDURL>
        </service>
        </serviceList>
        <deviceList>
        <device>
        <deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType>
        <friendlyName>WANDevice</friendlyName>
        <manufacturer>ZyXEL Communications Corp.</manufacturer>
        <manufacturerURL>http://www.zyxel.ru</manufacturerURL>
        <modelDescription>WAN Device</modelDescription>
        <modelName>WAN Device</modelName>
        <modelNumber>ZyXEL Keenetic DSL</modelNumber>
        <modelURL>http://www.zyxel.ru/keenetic-dsl</modelURL>
        <serialNumber>S132E41012685</serialNumber>
        <UDN>uuid:e22202d5-b2c0-3d0f-e34f-1adc2caf2b69</UDN>
        <UPC>000000000000</UPC>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
        <controlURL>/ctl/CmnIfCfg</controlURL>
        <eventSubURL>/evt/CmnIfCfg</eventSubURL>
        <SCPDURL>/WANCfg.xml</SCPDURL>
        </service>
        </serviceList>
        <deviceList>
        <device>
        <deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType>
        <friendlyName>WANConnectionDevice</friendlyName>
        <manufacturer>ZyXEL Communications Corp.</manufacturer>
        <manufacturerURL>http://www.zyxel.ru</manufacturerURL>
        <modelDescription>ZyXEL Keenetic DSL</modelDescription>
        <modelName>ZyXEL Keenetic DSL</modelName>
        <modelNumber>ZyXEL Keenetic DSL</modelNumber>
        <modelURL>http://www.zyxel.ru/keenetic-dsl</modelURL>
        <serialNumber>S132E41012685</serialNumber>
        <UDN>uuid:e22202d5-b2c0-3d0f-e34f-1adc2caf2b6a</UDN>
        <UPC>000000000000</UPC>
        <serviceList>
        <service>
        <serviceType>urn:schemas-upnp-org:service:WANIPConnection:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
        <controlURL>/ctl/IPConn</controlURL>
        <eventSubURL>/evt/IPConn</eventSubURL>
        <SCPDURL>/WANIPCn.xml</SCPDURL>
        </service>
        </serviceList>
        </device>
        </deviceList>
        </device>
        </deviceList>
        <presentationURL>http://172.16.100.1</presentationURL>
        </device>
        </root>
      Сообщение отредактировано: Kozlov_Sergey -
        Цитата Kozlov_Sergey @
        Как видно, он содержит пустые строки после тега "</serviceType>"

        Вопрос: соответствует ли это стандарту xml?
        Конечно соответствует.
          Цитата Славян @
          Цитата Kozlov_Sergey @
          Как видно, он содержит пустые строки после тега "</serviceType>"

          Вопрос: соответствует ли это стандарту xml?
          Конечно соответствует.

          Даже Windows 7 не может найти эти службы модема.
            Завтра проверим на лицензионной Windows со всеми обновлениями.
              Лицензионная Windows 7 тоже не может найти эти службы модема.

              Лицензионная Windows 10 то находит, то не находит эти службы модема.

              Добавлено
              Модемы Billion - глючный металлолом.
                Модемы Billion неправильно работают с сетью (видимо ошибки задержек при передаче и приёме). особенно это сказывается на работе со службами модема через UPnP.

                Ответы данного модема не содержат пустых строк в передаваемом xml файле (я поторопился с выводами в силу невозможности растяжения окна программы cmd.exe в Windows 7).

                Стоит отметить, что Windows 10 иногда нормально работает в этими модемами (шанс успеха около 50 %). Но это не оправдание для производителя указанного модема.
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0298 ]   [ 16 queries used ]   [ Generated: 2.01.25, 22:43 GMT ]