[Backlogmanager] [FIWARE-JIRA] (HELP-9538) [fiware-stackoverflow] Cygnus: Bad HTTP notification (curl/7.29.0 user agent not supported)

Fernando Lopez (JIRA) jira-help-desk at jira.fiware.org
Thu Jun 8 15:08:00 CEST 2017


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

Fernando Lopez deleted HELP-9538:
---------------------------------


> [fiware-stackoverflow] Cygnus: Bad HTTP notification (curl/7.29.0 user agent not supported)
> -------------------------------------------------------------------------------------------
>
>                 Key: HELP-9538
>                 URL: https://jira.fiware.org/browse/HELP-9538
>             Project: Help-Desk
>          Issue Type: Monitor
>            Reporter: Backlog Manager
>              Labels: fiware, fiware-cygnus, iot
>
> Created question in FIWARE Q/A platform on 06-10-2015 at 17:10
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/32973654/cygnus-bad-http-notification-curl-7-29-0-user-agent-not-supported
> +Question:+
> Cygnus: Bad HTTP notification (curl/7.29.0 user agent not supported)
> +Description:+
> I installed cygnus version 0.8.2 on Fiware instance basing on the image CentOS-7-x64 using:
> sudo yum install cygnus
> I configured my agent as the following:
> cygnusagent.sources = http-source
> cygnusagent.sinks = mongo-sink 
> cygnusagent.channels = mongo-channel 
> #=============================================
> # source configuration
> # channel name where to write the notification events
> cygnusagent.sources.http-source.channels = mongo-channel 
> # source class, must not be changed
> cygnusagent.sources.http-source.type = org.apache.flume.source.http.HTTPSource
> # listening port the Flume source will use for receiving incoming notifications
> cygnusagent.sources.http-source.port = 5050
> # Flume handler that will parse the notifications, must not be changed
> cygnusagent.sources.http-source.handler = com.telefonica.iot.cygnus.handlers.OrionRestHandler
> # URL target
> cygnusagent.sources.http-source.handler.notification_target = /notify
> # Default service (service semantic depends on the persistence sink)
> cygnusagent.sources.http-source.handler.default_service = def_serv
> # Default service path (service path semantic depends on the persistence sink)
> cygnusagent.sources.http-source.handler.default_service_path = def_servpath
> # Number of channel re-injection retries before a Flume event is definitely discarded (-1 means infinite retries)
> cygnusagent.sources.http-source.handler.events_ttl = 10
> # Source interceptors, do not change
> cygnusagent.sources.http-source.interceptors = ts gi
> # TimestampInterceptor, do not change
> cygnusagent.sources.http-source.interceptors.ts.type = timestamp
> # GroupinInterceptor, do not change
> cygnusagent.sources.http-source.interceptors.gi.type = com.telefonica.iot.cygnus.interceptors.GroupingInterceptor$Builder
> # Grouping rules for the GroupingInterceptor, put the right absolute path to the file if necessary
> # See the doc/design/interceptors document for more details
> cygnusagent.sources.http-source.interceptors.gi.grouping_rules_conf_file = /usr/cygnus/conf/grouping_rules.conf
> # ============================================
> # OrionMongoSink configuration
> # sink class, must not be changed
> cygnusagent.sinks.mongo-sink.type = com.telefonica.iot.cygnus.sinks.OrionMongoSink
> # channel name from where to read notification events
> cygnusagent.sinks.mongo-sink.channel = mongo-channel
> # FQDN/IP:port where the MongoDB server runs (standalone case) or comma-separated list of FQDN/IP:port pairs where the MongoDB replica set members run
> cygnusagent.sinks.mongo-sink.mongo_hosts = 127.0.0.1:27017
> # a valid user in the MongoDB server (or empty if authentication is not enabled in MongoDB)
> cygnusagent.sinks.mongo-sink.mongo_username = 
> # password for the user above (or empty if authentication is not enabled in MongoDB)
> cygnusagent.sinks.mongo-sink.mongo_password =
> # prefix for the MongoDB databases
> cygnusagent.sinks.mongo-sink.db_prefix = kura_
> # prefix pro the MongoDB collections
> cygnusagent.sinks.mongo-sink.collection_prefix = kura_
> # true is collection names are based on a hash, false for human redable collections
> cygnusagent.sinks.mongo-sink.should_hash = false
> #=============================================
> # mongo-channel configuration
> # channel type (must not be changed)
> cygnusagent.channels.mongo-channel.type = memory
> # capacity of the channel
> cygnusagent.channels.mongo-channel.capacity = 1000
> # amount of bytes that can be sent per transaction
> cygnusagent.channels.mongo-channel.transactionCapacity = 100
> I tried to test it locally using the following curl command:
> URL=$1
> curl $URL -v -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' --header "Fiware-Service: qsg" --header "Fiware-ServicePath: testsink" -d @- <<EOF
> {
>     "subscriptionId" : "51c0ac9ed714fb3b37d7d5a8",
>     "originator" : "localhost",
>     "contextResponses" : [
>         {
>             "contextElement" : {
>                 "attributes" : [
>                     {
>                         "name" : "temperature",
>                         "type" : "float",
>                         "value" : "26.5"
>                     }
>                 ],
>                 "type" : "Room",
>                 "isPattern" : "false",
>                 "id" : "Room1"
>             },
>             "statusCode" : {
>                 "code" : "200",
>                 "reasonPhrase" : "OK"
>             }
>         }
>     ]
> }
> EOF
> but I got this exception:
> 2015-10-06 14:38:50,138 (1251445230 at qtp-1186065012-0) [INFO - com.telefonica.iot.cygnus.handlers.OrionRestHandler.getEvents(OrionRestHandler.java:150)] Starting transaction (1444142307-244-0000000000)
> 2015-10-06 14:38:50,140 (1251445230 at qtp-1186065012-0) [WARN - com.telefonica.iot.cygnus.handlers.OrionRestHandler.getEvents(OrionRestHandler.java:180)] Bad HTTP notification (curl/7.29.0 user agent not supported)
> 2015-10-06 14:38:50,140 (1251445230 at qtp-1186065012-0) [WARN - org.apache.flume.source.http.HTTPSource$FlumeHTTPServlet.doPost(HTTPSource.java:186)] Received bad request from client. 
> org.apache.flume.source.http.HTTPBadRequestException: curl/7.29.0 user agent not supported
>     at com.telefonica.iot.cygnus.handlers.OrionRestHandler.getEvents(OrionRestHandler.java:181)
>     at org.apache.flume.source.http.HTTPSource$FlumeHTTPServlet.doPost(HTTPSource.java:184)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:814)
>     at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
>     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>     at org.mortbay.jetty.Server.handle(Server.java:326)
>     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>     at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>     at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>     at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Any idea of what can be the cause of this exception?



--
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