Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SoapClient返回SOAP错误:加载本地Web服务时解析WSDL_Php_Reporting Services_Xampp_Soap Client - Fatal编程技术网

PHP SoapClient返回SOAP错误:加载本地Web服务时解析WSDL

PHP SoapClient返回SOAP错误:加载本地Web服务时解析WSDL,php,reporting-services,xampp,soap-client,Php,Reporting Services,Xampp,Soap Client,我试图在本地安装SSR时调用SoapClient。它正在失败和回归: SOAP-ERROR:解析WSDL:无法从“http://localhost:8080/ReportServer/ReportExecution2005.asmx?wsdl' 我可以把url“http://localhost:8080/ReportServer/ReportExecution2005.asmx?wsdl”并按预期显示XML WSDL 使用上述url调用文件\u get\u内容也失败 我的环境是使用XAMPP的W

我试图在本地安装SSR时调用SoapClient。它正在失败和回归:

SOAP-ERROR:解析WSDL:无法从“
http://localhost:8080/ReportServer/ReportExecution2005.asmx?wsdl
'

我可以把url“
http://localhost:8080/ReportServer/ReportExecution2005.asmx?wsdl
”并按预期显示XML WSDL

使用上述url调用文件\u get\u内容也失败

我的环境是使用XAMPP的Windows 7

我相信XAMPP web服务器无法访问该文件/位置

在hosts文件中,我放了:

127.0.0.1本地主机:8080/ReportServer

在httpd-vhosts.conf中,我输入了:

   NameVirtualHost *
     <VirtualHost *>
       DocumentRoot "C:\xampp\htdocs\SBSProductionDatabase"
       ServerName localhost
     </VirtualHost>
     <VirtualHost *>
       DocumentRoot "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer"
       ServerName localhost:8080/ReportServer
     <Directory "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer">
       Order allow,deny
       Allow from all
     </Directory>
   </VirtualHost>

那么,当您在浏览器中浏览“localhost:8080/ReportServer/ReportExecution2005.asmx?wsdl”或仅浏览“localhost:8080/ReportServer”时会发生什么

它起作用了。xml wsdl按预期显示,仅针对我获得的SSRS报表服务器页面/站点的url,您是否尝试过以下测试示例?是的。基本上,我正在尝试调用新的SSRSReport(新凭证(UID,PWD),SERVICE_URL);,最终将尝试调用SoapClient,正如我上面所说的。由于SoapClient()失败,对SSRSReport的调用失败。我看到了一个突出的问题,那就是XAMPP没有配置成在我的机器上本地访问SSRS网站。尝试在中提到的方法2,并在重新尝试之前反弹您的机器一次。如果这没有帮助,请按照此KB在RS端启用详细和HTTP日志记录,让我们看看请求是否到达RS进程\n我使用的是XAMPP,而不是IIS。那么你的建议对我有用吗?我得到的完整警告是:(!)致命错误:未捕获的SoapFault异常:[WSDL]SOAP-error:解析WSDL:无法从“”加载:未能加载C:\xampp\htdocs\sbsprProductionDatabase\SSRS\GetReports.php中的外部实体。php:61堆栈跟踪:#0 C:\xampp\htdocs\sbsprProductionDatabase\SSRS\GetReports.php(61):SoapClient->SoapClient('…',Array)#1{main}在C:\xampp\htdocs\sbsprProductionDatabase\SSRS\GetReports.php的第61行抛出,我和您一样有问题,请检查您是否可以帮助我
$client = new SoapClient("http://localhost:8080/ReportServer/ReportExecution2005.asmx?wsdl",
                         array('login' => "domain\userid",
                               'password' => "password"));