2016-01-05 3 views
4

Я работаю с версией 0.25.0 из Контекстного брокера Ориона.Орион Контекстный брокер - запрос по местоположению без элементов

Если я загружаю контекста брокера только с контекстными субъектами и я ищу для субъектов в определенной области, кажется, что все работает нормально:

(curl localhost:1026/v1/queryContext?limit=100 -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' -d @- | python -mjson.tool) <<EOF 
{ 
    "entities":[ 
     { 
      "type":"Dispositivo_tmp", 
      "isPattern":"true", 
      "id":".*" 
     } 
    ], 
    "restriction": { 
     "scopes": [ 
      { 
       "type": "FIWARE::Location", 
       "value": { 
        "circle": { 
         "centerLatitude": "43.322361", 
         "centerLongitude": "-1.983222", 
         "radius": "1500" 
        } 
       } 
      } 
     ] 
    } 
} 
EOF 

я получаю ответ с контекстных лиц, расположенных в этой области:

... 
{ 
      "contextElement": { 
       "attributes": [ 
        { 
         "metadatas": [ 
          { 
           "name": "location", 
           "type": "string", 
           "value": "WGS84" 
          } 
         ], 
         "name": "position", 
         "type": "coords", 
         "value": "43.3221, -1.9831" 
        }, 
        { 
         "name": "pressure", 
         "type": "integer", 
         "value": "1" 
        }, 
        { 
         "name": "temperature", 
         "type": "float", 
         "value": "25" 
        } 
       ], 
       "id": "CE_5.1", 
       "isPattern": "false", 
       "type": "Dispositivo_tmp" 
      }, 
      "statusCode": { 
       "code": "200", 
       "reasonPhrase": "OK" 
      } 
     } 
    ] 
} 

А если нет элементов в определенной области, я получаю ожидаемый ответ:

{ 
    "errorCode": { 
     "code": "404", 
     "reasonPhrase": "No context element found" 
    } 
} 

Проблема возникает, если я загружаю контекстный посредник с регистрацией контекста. Если у меня есть оба контекста сущности и регистрации контекста на контекст брокера и проверить наличие контекстных сущностей в область, которую я знаю, пуст, я не получил никакого ответа или я получаю это один:

{ 
    "errorCode": { 
     "code": "200", 
     "reasonPhrase": "OK" 
    } 
} 

И кажется что чем больше количество регистраций контекста, загружаемых в брокер контекста, тем больше времени требуется для получения (отрицательного) ответа от системы.

В том же сценарии нет проблем, если я ищу объекты контекста в области с элементами. В этом случае я получу правильный ответ.

Есть ли смысл в этом?

Благодаря

+0

Я понимаю, что часть под «EDIT» является фактическим ответом на вопрос. Таким образом, я предлагаю вырезать и вставить его в правильный ответ ниже (StackOverflow позволяет отвечать на вопросы). Благодаря! – fgalan

+0

Кроме того, для ясности укажите пример неправильного URL-адреса и исправьте его. Это было бы прекрасно! – LeandroGuillen

ответ

1

Я видел, что такое поведение связанно с URL, который я определил при создании контекста регистраций.

Неправильный URL. Поэтому, когда посредник контекста подключается к устройству с использованием предоставленного URL-адреса, он начинает ждать ответа, который не поступит.

Я изменил URL и использовали "accumulate-server.py фиктивного сервера тестирования вместо:

http://localhost:1028/accumulate 

Используя его, контекст брокер получает ответ inmediate и продолжает с исполнением.

Смежные вопросы