2 Replies Latest reply on Jan 16, 2018 9:15 PM by mvolanti RSS
    mvolanti Apprentice

    Problem in Weather App


    i've got a problem with the service GetYahooWeatherInformation.

    When i test the service tw said me the exception: Wrapped org.apache.http.NoHttpResponseException: xml.weather.yahoo.com:80 failed to respond Cause: xml.weather.yahoo.com:80 failed to respond.

    Can anyone help me??

      • Re: Problem in Weather App
        ttielebein Collaborator

        Hello, what does the REST call to yahoo look like, the one which gives you this error (or rather, the part of the service which actually attempts to call Yahoo). A lot of Yahoo's weather REST API is deprecated. There is documentation demonstrating how to retrieve weather information from Wunderground located here: https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS228421


        Hope this helps!


          • Re: Problem in Weather App
            glucas Newbie


            As mentioned in https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS228421, i created a a mashup, when i am trying to execute, i go the following error.

            17:06:34 ERROR - Error in invoking service DynamicThingTemplates_WeatherTemplate, GetYahooWeatherInformation, Things, Beta, Services, GetYahooWeatherInformation. Error from the server: "Wrapped org.apache.http.conn.HttpHostConnectException: Connect to api.wunderground.com:80 [api.wunderground.com/] failed: Connection timed out: connect Cause: Connect to api.wunderground.com:80 [api.wunderground.com/] failed: Connection timed out: connect".

            My service script is as follows:

            // Need to make a free wunderground.com account to get this key

            var apiKey = "381603bc1002b5ce";

            var temperature;

            var humidity;

              //Inputted location needs to be valid lat, long: 40.7127, 74.0059

            if(location != null){

                 var test = location + " ";

                var arrayLocations = test.split(",");

                var lat = arrayLocations[0];

                var long = arrayLocations[1];

                 var prm = {

                    url: "http://api.wunderground.com/api/"+apiKey+"/conditions/q/"+lat+","+long+".json",timeout: 60000


                 var json = Resources["ContentLoaderFunctions"].PostJSON(prm);

              try {

                    temperature = parseInt(json.current_observation.temp_f);

                    humidity = parseInt(json.current_observation.relative_humidity);

                    me.Temperature = temperature;

                    me.Humidity = humidity;

                    result = "Success. Properties are updated.";

                      } catch(err) {

                    logger.error("Could not parse temperature and humidity for location: " + location

                       + ". All valid Longitudes and Latitudes values must have decimal points"                      + " and be located where weather measurements are commonly taken (near cities).");

                    result = "Failed. Check Script Logs";



            But when i am trying to enter the URL via chrome browser (http://api.wunderground.com/api/381603bc1002b5ce+/conditions/q/16.57039022046052,77.50030517578125.json)

            i got the results properly in JSON format.

            But when i am trying to execute from mashup, the got the error.

            can anyone help me to resolve the issue.


            Thanks in Advance


            Gnanamuthu Lucas