我正在尝试将NOAA的天气数据整合到我的网站中,作为起点,我尝试运行他们的示例代码(可用here。我尝试使用的具体示例是Basic Client示例(起点是ndfdXML.htm)。
我已经按照readme说明下载nuSOAP并将位置更改为本地路径,并将soapclient的位置更改为www.weather.gov而不是localhost,但是当我实际提交页面时我仍然收到错误
当我执行view-source时,错误才会出现,这就是它所说的:
Fatal error: Uncaught SoapFault exception:
[WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php':
Extra content at the end of the document in /opt/lampp/htdocs/weather/ndfdXMLclient.php:179
Stack trace:
#0 /opt/lampp/htdocs/weather/ndfdXMLclient.php(179): SoapClient->SoapClient('http://www.weat...')
#1 {main} thrown in /opt/lampp/htdocs/weather/ndfdXMLclient.php on line 179
知道这意味着什么吗?我一直无法找到实际气象服务提供的任何帮助。
答案 0 :(得分:0)
我打赌你需要在SoapClient代码中将实际路径放到wsdl中。
http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php?wsdl
(注意最后的“?wsdl”)
看起来您的代码正在尝试使用http://www.weather.gov/forecasts/xml/SOAP_server/ndfdXMLserver.php创建SoapClient作为wsdl的路径。如果你真的去那里,你会发现这不是wsdl。它实际上位于这篇文章的第一个网址。