[Backlogmanager] [FIWARE-JIRA] (HELP-15474) [fiware-stackoverflow] Fiware orion subscription sending empty body

Fernando Lopez (JIRA) jira-help-desk at jira.fiware.org
Wed Feb 20 10:30:00 CET 2019


     [ https://jira.fiware.org/browse/HELP-15474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fernando Lopez updated HELP-15474:
----------------------------------
    Description: 
Created question in FIWARE Q/A platform on 20-02-2019 at 04:02
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/54778164/fiware-orion-subscription-sending-empty-body


+Question:+
Fiware orion subscription sending empty body

+Description:+
My setup:
docker-compose:

version: "3.1"
services:
  mongo-db:
    image: mongo:3.6
    hostname: mongo-db
    container_name: db-mongo
    expose:
      - "27017"
    ports:
      - "27017:27017"
    networks:
      - default
    command: --bind_ip_all --smallfiles
    volumes:
      - mongo-db:/data

  orion:
    image: fiware/orion:2.1.0
    hostname: orion
    container_name: fiware-orion
    depends_on:
      - mongo-db
    networks:
      - default
    expose:
      - "1026"
    ports:
      - "1026:1026"
    command: -dbhost mongo-db -logLevel DEBUG
    logging:
      driver: none
    healthcheck:
      test: curl --fail -s http://localhost:1026/version || exit 1

  iot-agent:
    image: fiware/iotagent-ul:latest
    hostname: iot-agent
    container_name: fiware-iot-agent
    depends_on:
        - mongo-db
    networks:
        - default
    expose:
        - "4041"
        - "7896"
    ports:
        - "4041:4041"
        - "7896:7896"
    logging:
      driver: none
    environment:
        - "IOTA_CB_HOST=orion"
        - "IOTA_CB_PORT=1026"
        - "IOTA_NORTH_PORT=4041"
        - "IOTA_REGISTRY_TYPE=mongodb"
        - "IOTA_LOG_LEVEL=DEBUG"
        - "IOTA_TIMESTAMP=true"
        - "IOTA_MONGO_HOST=mongo-db"
        - "IOTA_MONGO_PORT=27017"
        - "IOTA_MONGO_DB=iotagentul"
        - "IOTA_HTTP_PORT=7896"
        - "IOTA_PROVIDER_URL=http://iot-agent:4041"


networks:
  default:
    ipam:
      config:
        - subnet: 172.18.1.0/24

volumes:
  mongo-db: ~


context:

curl -iX POST \
  'http://localhost:1026/v2/op/update' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
  "actionType":"APPEND",
  "entities":[
    {
      "id":"urn:ngsi-ld:Furniture:unit001", "type":"Furniture",
      "name":{
        "type":"Text", "value":"Bürostuhl"
      },
      "price":{
        "type":"Integer", "value":404.40
      }
    },
    {
      "id":"urn:ngsi-ld:Furniture:unit002", "type":"Furniture",
      "name":{
        "type":"Text", "value":"Bürotisch"
      },
      "price":{
        "type":"Integer", "value":203.40
      }
    },
    {
      "id":"urn:ngsi-ld:DeliverService:unit001", "type":"ServiceProvider",
      "name":{
        "type":"Text", "value":"trinkajo"
      },
       "address":{
            "type":"PostalAddress",
            "value":{
               "telephoneNumber":"43q4q53",
               "internetAdresse":"https://www.345345.de/"
            }
         }
    },
    {
      "id":"urn:ngsi-ld:BottleCounter:001", "type":"BottleCounter",
      "name":{
        "type":"Text", "value":"Wasserflaschenzähler"
      },
      "numberOfBottles": {"type":"Integer", "value":645}
    }
  ]
}'




curl -iX POST \
  'http://localhost:1026/v2/op/update' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
  "actionType":"APPEND",
  "entities":[
    {
      "id":"urn:ngsi-ld:Furniture:unit001", "type":"Furniture",
      "refOffice": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Office:001"
      }
    },
    {
      "id":"urn:ngsi-ld:Furniture:unit002", "type":"Furniture",
      "refOffice": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Office:001"

      }  
    },
    {
      "id":"urn:ngsi-ld:DeliverService:unit001", "type":"ServiceProvider",
      "refOffice": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Office:001"

      }  
    }
  ]
}'
curl -iX POST \
  'http:




//localhost:1026/v2/op/update' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
   "actionType":"APPEND",
   "entities":[
      {
         "id":"urn:ngsi-ld:Office:001", "type" : "Office",
         "name":{
            "type":"Text",
            "value":"didi-Hamburg"
         },
         "sizeInM2":{
            "type":"Integer",
            "value":60
         },
         "address":{
            "type":"PostalAddress",
            "value":{
               "country":"Germany",
               "locality":"sdfg",
               "street":"sdfg",
               "houseNumber" : "34",
               "postalCode":"34533"
            }
         }
      }
   ]
}'


curl -iX POST \
  'http://localhost:4041/iot/services' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
 "services": [
   {
     "apikey":      "4jggokgpepnvsb2uv4s40d59ov",
     "cbroker":     "http://orion:1026",
     "entity_type": "Thing",
     "resource":    "/iot/d"
   }
 ]
}'
curl -G -X GET \
  'http://localhost:1026/v2/entities/urn:ngsi-ld:Office:001' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d 'type=Office' \
  -d 'options=keyValues' | json_pp

curl -iX POST \
  'http://localhost:4041/iot/devices' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
 "devices": [
   {
     "device_id":   "bottleCounter001",
     "entity_name": "urn:ngsi-ld:BottleCounter:001",
     "entity_type": "BottleCounter",
     "timezone":    "Europe/Berlin",
     "attributes": [
       { "object_id": "c", "name": "numberOfBottles", "type": "Integer" }
     ],
     "static_attributes": [
       { "name":"refOffice", "type": "Relationship", "value": "urn:ngsi-ld:Office:001"}
     ]
   }
 ]
}'


The subscription:

curl -iX POST \
  --url 'http://localhost:1026/v2/subscriptions' \
  --header 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  --data '{
  "description": "Notify me of low stock in Office 001",
  "subject": {
    "entities": [{"idPattern": ".*", "type" : "BottleCounter"}],
    "condition": {
      "attrs": ["numberOfBottles"],
      "expression": {"q": "numberOfBottles<10;refOffice==urn:ngsi-ld:Office:001"}
    }
  },
  "notification": {
    "http": {
      "url": "http://delivery:8080/subscription/office"
    }
  }
}'


I have several problems:


With the condition numberOfBottles<10 the subscription never get triggered. When I use something like numberOfBottles!=10 it is working
There is only an empty body sent to the url http://delivery:8080/subscription/office


A bonus question: if I can fix the first issues:
Is there a way to send the attribute address from urn:ngsi-ld:DeliverService:unit001 to the url http://delivery:8080/subscription/office when the subscription get triggered?


  was:

Created question in FIWARE Q/A platform on 20-02-2019 at 04:02
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/54778164/fiware-orion-subscription-sending-empty-body


+Question:+
Fiware orion subscription sending empty body

+Description:+
My setup:
docker-compose:

version: "3.1"
services:
  mongo-db:
    image: mongo:3.6
    hostname: mongo-db
    container_name: db-mongo
    expose:
      - "27017"
    ports:
      - "27017:27017"
    networks:
      - default
    command: --bind_ip_all --smallfiles
    volumes:
      - mongo-db:/data

  orion:
    image: fiware/orion:2.1.0
    hostname: orion
    container_name: fiware-orion
    depends_on:
      - mongo-db
    networks:
      - default
    expose:
      - "1026"
    ports:
      - "1026:1026"
    command: -dbhost mongo-db -logLevel DEBUG
    logging:
      driver: none
    healthcheck:
      test: curl --fail -s http://localhost:1026/version || exit 1

  iot-agent:
    image: fiware/iotagent-ul:latest
    hostname: iot-agent
    container_name: fiware-iot-agent
    depends_on:
        - mongo-db
    networks:
        - default
    expose:
        - "4041"
        - "7896"
    ports:
        - "4041:4041"
        - "7896:7896"
    logging:
      driver: none
    environment:
        - "IOTA_CB_HOST=orion"
        - "IOTA_CB_PORT=1026"
        - "IOTA_NORTH_PORT=4041"
        - "IOTA_REGISTRY_TYPE=mongodb"
        - "IOTA_LOG_LEVEL=DEBUG"
        - "IOTA_TIMESTAMP=true"
        - "IOTA_MONGO_HOST=mongo-db"
        - "IOTA_MONGO_PORT=27017"
        - "IOTA_MONGO_DB=iotagentul"
        - "IOTA_HTTP_PORT=7896"
        - "IOTA_PROVIDER_URL=http://iot-agent:4041"


networks:
  default:
    ipam:
      config:
        - subnet: 172.18.1.0/24

volumes:
  mongo-db: ~


context:

curl -iX POST \
  'http://localhost:1026/v2/op/update' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
  "actionType":"APPEND",
  "entities":[
    {
      "id":"urn:ngsi-ld:Furniture:unit001", "type":"Furniture",
      "name":{
        "type":"Text", "value":"Bürostuhl"
      },
      "price":{
        "type":"Integer", "value":404.40
      }
    },
    {
      "id":"urn:ngsi-ld:Furniture:unit002", "type":"Furniture",
      "name":{
        "type":"Text", "value":"Bürotisch"
      },
      "price":{
        "type":"Integer", "value":203.40
      }
    },
    {
      "id":"urn:ngsi-ld:DeliverService:unit001", "type":"ServiceProvider",
      "name":{
        "type":"Text", "value":"trinkajo"
      },
       "address":{
            "type":"PostalAddress",
            "value":{
               "telephoneNumber":"43q4q53",
               "internetAdresse":"https://www.345345.de/"
            }
         }
    },
    {
      "id":"urn:ngsi-ld:BottleCounter:001", "type":"BottleCounter",
      "name":{
        "type":"Text", "value":"Wasserflaschenzähler"
      },
      "numberOfBottles": {"type":"Integer", "value":645}
    }
  ]
}'




curl -iX POST \
  'http://localhost:1026/v2/op/update' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
  "actionType":"APPEND",
  "entities":[
    {
      "id":"urn:ngsi-ld:Furniture:unit001", "type":"Furniture",
      "refOffice": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Office:001"
      }
    },
    {
      "id":"urn:ngsi-ld:Furniture:unit002", "type":"Furniture",
      "refOffice": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Office:001"

      }  
    },
    {
      "id":"urn:ngsi-ld:DeliverService:unit001", "type":"ServiceProvider",
      "refOffice": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Office:001"

      }  
    }
  ]
}'
curl -iX POST \
  'http:




//localhost:1026/v2/op/update' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
   "actionType":"APPEND",
   "entities":[
      {
         "id":"urn:ngsi-ld:Office:001", "type" : "Office",
         "name":{
            "type":"Text",
            "value":"didi-Hamburg"
         },
         "sizeInM2":{
            "type":"Integer",
            "value":60
         },
         "address":{
            "type":"PostalAddress",
            "value":{
               "country":"Germany",
               "locality":"sdfg",
               "street":"sdfg",
               "houseNumber" : "34",
               "postalCode":"34533"
            }
         }
      }
   ]
}'


curl -iX POST \
  'http://localhost:4041/iot/services' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
 "services": [
   {
     "apikey":      "4jggokgpepnvsb2uv4s40d59ov",
     "cbroker":     "http://orion:1026",
     "entity_type": "Thing",
     "resource":    "/iot/d"
   }
 ]
}'
curl -G -X GET \
  'http://localhost:1026/v2/entities/urn:ngsi-ld:Office:001' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d 'type=Office' \
  -d 'options=keyValues' | json_pp

curl -iX POST \
  'http://localhost:4041/iot/devices' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  -d '{
 "devices": [
   {
     "device_id":   "bottleCounter001",
     "entity_name": "urn:ngsi-ld:BottleCounter:001",
     "entity_type": "BottleCounter",
     "timezone":    "Europe/Berlin",
     "attributes": [
       { "object_id": "c", "name": "numberOfBottles", "type": "Integer" }
     ],
     "static_attributes": [
       { "name":"refOffice", "type": "Relationship", "value": "urn:ngsi-ld:Office:001"}
     ]
   }
 ]
}'


The subscription:

curl -iX POST \
  --url 'http://localhost:1026/v2/subscriptions' \
  --header 'Content-Type: application/json' \
  -H 'fiware-service: didi' \
  -H 'fiware-servicepath: /' \
  --data '{
  "description": "Notify me of low stock in Office 001",
  "subject": {
    "entities": [{"idPattern": ".*", "type" : "BottleCounter"}],
    "condition": {
      "attrs": ["numberOfBottles"],
      "expression": {"q": "numberOfBottles<10;refOffice==urn:ngsi-ld:Office:001"}
    }
  },
  "notification": {
    "http": {
      "url": "http://delivery:8080/subscription/office"
    }
  }
}'


I have several problems:


With the condition numberOfBottles<10 the subscription never get triggered. When I use something like numberOfBottles!=10 it is working
There is only an empty body sent to the url http://delivery:8080/subscription/office


A bonus question: if I can fix the first issues:
Is there a way to send the attribute address from urn:ngsi-ld:DeliverService:unit001 to the url http://delivery:8080/subscription/office when the subscription get triggered?


     HD-Enabler: Orion

> [fiware-stackoverflow] Fiware orion subscription sending empty body
> -------------------------------------------------------------------
>
>                 Key: HELP-15474
>                 URL: https://jira.fiware.org/browse/HELP-15474
>             Project: Help-Desk
>          Issue Type: Monitor
>          Components: FIWARE-TECH-HELP
>            Reporter: Backlog Manager
>            Assignee: Jose Manuel Cantera
>              Labels: fiware, fiware-orion
>
> Created question in FIWARE Q/A platform on 20-02-2019 at 04:02
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/54778164/fiware-orion-subscription-sending-empty-body
> +Question:+
> Fiware orion subscription sending empty body
> +Description:+
> My setup:
> docker-compose:
> version: "3.1"
> services:
>   mongo-db:
>     image: mongo:3.6
>     hostname: mongo-db
>     container_name: db-mongo
>     expose:
>       - "27017"
>     ports:
>       - "27017:27017"
>     networks:
>       - default
>     command: --bind_ip_all --smallfiles
>     volumes:
>       - mongo-db:/data
>   orion:
>     image: fiware/orion:2.1.0
>     hostname: orion
>     container_name: fiware-orion
>     depends_on:
>       - mongo-db
>     networks:
>       - default
>     expose:
>       - "1026"
>     ports:
>       - "1026:1026"
>     command: -dbhost mongo-db -logLevel DEBUG
>     logging:
>       driver: none
>     healthcheck:
>       test: curl --fail -s http://localhost:1026/version || exit 1
>   iot-agent:
>     image: fiware/iotagent-ul:latest
>     hostname: iot-agent
>     container_name: fiware-iot-agent
>     depends_on:
>         - mongo-db
>     networks:
>         - default
>     expose:
>         - "4041"
>         - "7896"
>     ports:
>         - "4041:4041"
>         - "7896:7896"
>     logging:
>       driver: none
>     environment:
>         - "IOTA_CB_HOST=orion"
>         - "IOTA_CB_PORT=1026"
>         - "IOTA_NORTH_PORT=4041"
>         - "IOTA_REGISTRY_TYPE=mongodb"
>         - "IOTA_LOG_LEVEL=DEBUG"
>         - "IOTA_TIMESTAMP=true"
>         - "IOTA_MONGO_HOST=mongo-db"
>         - "IOTA_MONGO_PORT=27017"
>         - "IOTA_MONGO_DB=iotagentul"
>         - "IOTA_HTTP_PORT=7896"
>         - "IOTA_PROVIDER_URL=http://iot-agent:4041"
> networks:
>   default:
>     ipam:
>       config:
>         - subnet: 172.18.1.0/24
> volumes:
>   mongo-db: ~
> context:
> curl -iX POST \
>   'http://localhost:1026/v2/op/update' \
>   -H 'Content-Type: application/json' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   -d '{
>   "actionType":"APPEND",
>   "entities":[
>     {
>       "id":"urn:ngsi-ld:Furniture:unit001", "type":"Furniture",
>       "name":{
>         "type":"Text", "value":"Bürostuhl"
>       },
>       "price":{
>         "type":"Integer", "value":404.40
>       }
>     },
>     {
>       "id":"urn:ngsi-ld:Furniture:unit002", "type":"Furniture",
>       "name":{
>         "type":"Text", "value":"Bürotisch"
>       },
>       "price":{
>         "type":"Integer", "value":203.40
>       }
>     },
>     {
>       "id":"urn:ngsi-ld:DeliverService:unit001", "type":"ServiceProvider",
>       "name":{
>         "type":"Text", "value":"trinkajo"
>       },
>        "address":{
>             "type":"PostalAddress",
>             "value":{
>                "telephoneNumber":"43q4q53",
>                "internetAdresse":"https://www.345345.de/"
>             }
>          }
>     },
>     {
>       "id":"urn:ngsi-ld:BottleCounter:001", "type":"BottleCounter",
>       "name":{
>         "type":"Text", "value":"Wasserflaschenzähler"
>       },
>       "numberOfBottles": {"type":"Integer", "value":645}
>     }
>   ]
> }'
> curl -iX POST \
>   'http://localhost:1026/v2/op/update' \
>   -H 'Content-Type: application/json' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   -d '{
>   "actionType":"APPEND",
>   "entities":[
>     {
>       "id":"urn:ngsi-ld:Furniture:unit001", "type":"Furniture",
>       "refOffice": {
>         "type": "Relationship",
>         "value": "urn:ngsi-ld:Office:001"
>       }
>     },
>     {
>       "id":"urn:ngsi-ld:Furniture:unit002", "type":"Furniture",
>       "refOffice": {
>         "type": "Relationship",
>         "value": "urn:ngsi-ld:Office:001"
>       }  
>     },
>     {
>       "id":"urn:ngsi-ld:DeliverService:unit001", "type":"ServiceProvider",
>       "refOffice": {
>         "type": "Relationship",
>         "value": "urn:ngsi-ld:Office:001"
>       }  
>     }
>   ]
> }'
> curl -iX POST \
>   'http:
> //localhost:1026/v2/op/update' \
>   -H 'Content-Type: application/json' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   -d '{
>    "actionType":"APPEND",
>    "entities":[
>       {
>          "id":"urn:ngsi-ld:Office:001", "type" : "Office",
>          "name":{
>             "type":"Text",
>             "value":"didi-Hamburg"
>          },
>          "sizeInM2":{
>             "type":"Integer",
>             "value":60
>          },
>          "address":{
>             "type":"PostalAddress",
>             "value":{
>                "country":"Germany",
>                "locality":"sdfg",
>                "street":"sdfg",
>                "houseNumber" : "34",
>                "postalCode":"34533"
>             }
>          }
>       }
>    ]
> }'
> curl -iX POST \
>   'http://localhost:4041/iot/services' \
>   -H 'Content-Type: application/json' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   -d '{
>  "services": [
>    {
>      "apikey":      "4jggokgpepnvsb2uv4s40d59ov",
>      "cbroker":     "http://orion:1026",
>      "entity_type": "Thing",
>      "resource":    "/iot/d"
>    }
>  ]
> }'
> curl -G -X GET \
>   'http://localhost:1026/v2/entities/urn:ngsi-ld:Office:001' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   -d 'type=Office' \
>   -d 'options=keyValues' | json_pp
> curl -iX POST \
>   'http://localhost:4041/iot/devices' \
>   -H 'Content-Type: application/json' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   -d '{
>  "devices": [
>    {
>      "device_id":   "bottleCounter001",
>      "entity_name": "urn:ngsi-ld:BottleCounter:001",
>      "entity_type": "BottleCounter",
>      "timezone":    "Europe/Berlin",
>      "attributes": [
>        { "object_id": "c", "name": "numberOfBottles", "type": "Integer" }
>      ],
>      "static_attributes": [
>        { "name":"refOffice", "type": "Relationship", "value": "urn:ngsi-ld:Office:001"}
>      ]
>    }
>  ]
> }'
> The subscription:
> curl -iX POST \
>   --url 'http://localhost:1026/v2/subscriptions' \
>   --header 'Content-Type: application/json' \
>   -H 'fiware-service: didi' \
>   -H 'fiware-servicepath: /' \
>   --data '{
>   "description": "Notify me of low stock in Office 001",
>   "subject": {
>     "entities": [{"idPattern": ".*", "type" : "BottleCounter"}],
>     "condition": {
>       "attrs": ["numberOfBottles"],
>       "expression": {"q": "numberOfBottles<10;refOffice==urn:ngsi-ld:Office:001"}
>     }
>   },
>   "notification": {
>     "http": {
>       "url": "http://delivery:8080/subscription/office"
>     }
>   }
> }'
> I have several problems:
> With the condition numberOfBottles<10 the subscription never get triggered. When I use something like numberOfBottles!=10 it is working
> There is only an empty body sent to the url http://delivery:8080/subscription/office
> A bonus question: if I can fix the first issues:
> Is there a way to send the attribute address from urn:ngsi-ld:DeliverService:unit001 to the url http://delivery:8080/subscription/office when the subscription get triggered?



--
This message was sent by Atlassian JIRA
(v6.4.1#64016)


More information about the Backlogmanager mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy