我寫了一個從國家氣象局web服務檢索數據的過程。在情人節之前,它一直工作好幾年。現在這個調用一直在收到一個空的響應錯誤。我已經聯繫了國家氣象局,他們迄今還沒有能夠提供任何建議,除非說他們最近更改爲https。我試着創建一個新的簡單測試項目,並在其中添加對https URL的新引用,但仍然收到空的響應錯誤。任何人都可以提出解決方案國家氣象局web服務的空迴應
我設定的Web引用:
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;
}
非常感謝。該新網址也適用於我。你是怎麼找到的?我用他們的技術支持交換了電子郵件,我沒有與他們一起。 –
我一直在搜索,並以某種方式來到這裏:https://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php 從那裏我點擊鏈接「查看服務的WSDL」。 打開xml查看後,我查看了瀏覽器URL中的地址,並認爲我會試試看。 – justiz33
優秀的調查。我會盡力記住這種方法。 –