繁体   English   中英

国家气象服务网络服务的空响应

[英]Empty response from National Weather Service web service

我编写了一个从National Weather Service Web服务检索数据的过程。 直到情人节,它一直运行良好。 现在,该呼叫不断收到一个空的响应错误。 我已经与国家气象局联系,到目前为止,他们无法提供任何建议,只是说他们最近更改为https。 我尝试使用对其https URL的新引用创建一个新的简单测试项目,但仍然出现空响应错误。 谁能提出解决方案?

我将网络参考设置为:

https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl

这是我正在测试的代码,它仍然失败,并显示空响应错误:

    private void cmdGo_Click(object sender, RoutedEventArgs e)
    {
        decimal nLatitude = (decimal)30.32;
        decimal nLongitude = (decimal)-81.55;
        DateTime dEndTime = DateTime.Now;
        DateTime dStartTime = dEndTime.AddHours(-2);
        XmlDocument oXmlDocument = GetXmlDocument(nLatitude, nLongitude, dStartTime, dEndTime);
    }
    private XmlDocument GetXmlDocument(decimal nLatitude, decimal nLongitude, DateTime dStartTime, DateTime dEndTime)
    {
        XmlDocument oXmlDocument = new XmlDocument();
        try
        {
            gov.weather.graphical.ndfdXML oWebProxy = new gov.weather.graphical.ndfdXML();
            gov.weather.graphical.productType oProductType = gov.weather.graphical.productType.timeseries;
            gov.weather.graphical.unitType oUnitType = gov.weather.graphical.unitType.e;
            gov.weather.graphical.weatherParametersType oWeatherParametersType = new gov.weather.graphical.weatherParametersType();
            oWeatherParametersType.appt = true;         // Apparent Temperature
            oWeatherParametersType.icons = true;        // Conditions Icons
            oWeatherParametersType.dew = true;          // Dew Point Temperature
            oWeatherParametersType.maxt = true;         // Daily Maximum Temperature
            oWeatherParametersType.mint = true;         // Daily Minimum Temperature - no response
            oWeatherParametersType.pop12 = true;        // 12 Hourly Probability of Precipitation
            oWeatherParametersType.precipa_r = true;    // Liquid Precipitation Amount
            oWeatherParametersType.rh = true;           // Relative Humidity
            oWeatherParametersType.sky = true;          // Cloud Cover Amount
            oWeatherParametersType.snow = true;         // Snow Amount
            oWeatherParametersType.temp = true;         // Temperature
            oWeatherParametersType.wdir = true;         // Wind Direction
            oWeatherParametersType.wgust = true;        // Wind Speed Gust
            oWeatherParametersType.wspd = true;         // Wind Speed
            oWeatherParametersType.wwa = true;          // Watches, Warnings, and Advisories
            oWeatherParametersType.wx = true;           // Weather Type, Coverage, and Intensity

            string sXmlData = oWebProxy.NDFDgen(nLatitude, nLongitude, oProductType, dStartTime, dEndTime, oUnitType, oWeatherParametersType);
            oXmlDocument.LoadXml(sXmlData);
        }
        catch (Exception e)
        {
            string sMessage = e.Message;
            sMessage = "Error: " + sMessage;
        }
        return oXmlDocument;
    }

对于C#Web参考,我将以下内容更改为:

http://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl

至:

https://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php?wsdl

我必须将一些参数更改为“字符串”格式,但返回的xml似乎与我使用的其他url格式相同。

希望这可以帮助。

我的电话现在是:

ndfdXML.NDFDgenByDay(currentLoc.latitude, currentLoc.longitude, DateTime.Now, "7", "e", "12 hourly");

得到我所在地区的7天。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM