[ 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)
You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy Cookies policy