2016-05-12 13 views
0

Ich bin neu in Bluemix ich anfangen und wurde mit dem IoT Connected Vehicle Tutorial http://m2m.demos.ibm.com/dl/iot-connected-vehicle-tutorial.pdfKann nicht Geospatial Analytics

Alles ausprobieren funktioniert gut, bis ich versuchen, den Geospatial Analytics-Dienst zu starten, indem Sie den Link für meine App den Zugriff auf: http://lm-trafficsim.eu-gb.mybluemix.net/GeospatialService_start

nach ca. 1 Minute es zeigt:

502 Bad Gateway: Registrierte Endpunkt fehlgeschlagen die Anfrage bearbeiten.

und die Protokolle sind:

[App/0]OUTAbout to call /GeospatialService_start 
[App/0]OUTNO BODY 
[App/0]OUTOptions prepared: { host: 'streams-broker.eu-gb.bluemix.net', 
[App/0]OUT port: '443', 
[App/0]OUT headers: 
[App/0]OUT method: 'PUT', 
[App/0]OUT path: '/jax-rs/geo/start/service_instances/538a9b3d-7160-4235-8e47-9be62d873842/service_bindings/2709488e-2310-4628-acef-df0313877bb5', 
[App/0]OUT 'Content-Type': 'application/json', 
[App/0]OUT { Authorization: 'Basic YWIxM2I3ODQtMzdmZi00ZGI2LWJkYTctYTgwYzc3MmMwNDY1OjA3YjU0NzMwLWYxM2MtNGYxYi1iZjkzLWY4ZWNlMDEwNDFhYg==', 
[App/0]OUTWriting json: 
[App/0]OUT 'Content-Length': 448 } } 
[App/0]OUTDo the GeospatialService_start call 
[App/0]OUT { 
[App/0]OUT "mqtt_pw": "xxxxx", 
[App/0]OUT "mqtt_uid": "xxxxx", 
[App/0]OUT "mqtt_client_id_notify": "a:ybv0lr:geoNotify627", 
[App/0]OUT "mqtt_client_id_input": "a:ybv0lr:geoInput393", 
[App/0]OUT "mqtt_uri": "ybv0lr.messaging.internetofthings.ibmcloud.com:1883", 
[App/0]OUT "device_id_attr_name": "id", 
[App/0]OUT "mqtt_notify_topic": "iot-2/type/api/id/geospatial/cmd/geoAlert/fmt/json", 
[App/0]OUT "mqtt_input_topics": "iot-2/type/vehicle/id/+/evt/telemetry/fmt/json", 
[App/0]OUT "latitude_attr_name": "lat", 
[App/0]OUT "longitude_attr_name": "lng" 
[App/0]OUT} 
[App/0]ERR{ [Error: socket hang up] code: 'ECONNRESET' } 
[App/0]OUT[0mGET /GeospatialService_start [0m- [0m- ms - -[0m 
[RTR/0]OUTlm-trafficsim.eu-gb.mybluemix.net - [12/05/2016:20:47:37 +0000] "GET /GeospatialService_start HTTP/1.1" 502 0 67 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" 159.122.215.10:19754 x_forwarded_for:"188.26.151.29" x_forwarded_proto:"http" vcap_request_id:b8812e5c-98dd-4d5a-6c2b-75780c6f0996 response_time:120.113068106 app_id:81052294-dfad-43c6-980f-1f058011632d x_global_transaction_id:"333879271" 

Ich habe meine Firewall gestoppt, wie ich in einigen anderen Beiträgen gelesen, dass es verhindern kann den Port zugreifen, aber das hat nicht geholfen. Irgendwelche Ideen, was könnte falsch sein?

Der einzige Unterschied zum Tutorial besteht darin, dass der von mir verwendete Geospatial Analytics-Plan Standard ist, nicht Free, da Standard der einzige ist, den ich wählen kann.

+0

Haben Sie immer noch den gleichen Fehler oder war es ein vorübergehender Fehler? – ValerieLampkin

+0

Überprüfen Sie, ob Ihre App in Bluemix ausgeführt wird. Falls nicht, versuchen Sie, die Anwendung neu zu starten, bevor Sie versuchen, auf den Link zuzugreifen. – ValerieLampkin

+0

Paul von unserem Geospatial Team hat das Problem neu erstellt und untersucht weiter. Er wird ein Update bereitstellen, nachdem er seine Untersuchung beendet hat. – ValerieLampkin

Antwort

1

Der Artikel in dem von Ihnen erwähnten PDF ist alt. Ich erkläre, was mit dem Code nicht stimmt und wie er behoben werden kann.

Die Beispielanwendung node.js wurde geschrieben, als der Dienst Geospatial Analytics in Bluemix in der Betaversion war. Die Anwendung verwendet HTTP-Anforderungen, um die REST-APIs des Service aufzurufen. Als der Dienst von der Beta zur Produktion wechselte, musste https für den REST-API-Zugriff verwendet werden. Der Dienst unterstützt den REST-API-Zugriff nicht mehr mit http. Das verursacht den ECONNRESET in Ihrem Anwendungsprotokoll.

http = require('http'), 

zu:

https = require('https'), 

und ändern Linie 617 von:

var reqPut = http.request(options, function(res) { 

Um den vorhandenen Code arbeiten, in der app.js Quelldatei Änderungslinie 462 Suche von

zu:

var reqPut = https.request(options, function(res) { 

Nachdem Sie die Änderungen vorgenommen haben, verwenden Sie , um Ihre Anwendung in Bluemix zu aktualisieren. Wenn die Anwendung neu gestartet wird, sollten Sie erfolgreiche Aufrufe der Geospatial Analytics-REST-APIs sehen.

Nachdem all dies gesagt wurde, können Sie auch die finale Version des Connected Car Demo-Artikels unter http://www.ibm.com/developerworks/library/mo-connectedcar-app/index.html verwenden. Dieser aktualisierte Artikel enthält einen Link zum aktuellen Anwendungscode auf jazz.net mit dem obigen Fix zusätzlich zu einigen anderen Verbesserungen und Korrekturen.

+0

Danke. Das hat es gelöst. –