我正在使用PHP中的SoapServer开发Web服务。以前,我使用完全相同的技术创建了另一个Web服务。我的新项目在同一台服务器上,但在另一个子目录中。 在服务的URL中,soapserver是包含的版本号。 这是我在PHP中创建SoapServer的方式:
$server = new SoapServer("https://".DOMAIN."/webservice/index.php?v=1.0.0&wsdl=1");
$server->setClass('SoapHandler');
$server->handle();
整个PHP页面在我的示例Soap Service中是相同的,只有url是不同的。 当我使用soapUI调用webservice时,会返回以下错误:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1' : failed to load external entity "https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1"
如您所见,&符号被替换为&
。我试图将编码更改为UTF-8,这也不起作用。
谁能帮助我?
答案 0 :(得分:2)
您必须在php.ini
文件中启用openssl模块。否则,您无法使用SSL(https)访问域。
否则,您应该从本地服务器检查您的域,并检查使用curl或lynx返回WSDL文件。
答案 1 :(得分:1)
我们有一个.htaccess,只允许我的IP地址,同时它也应该允许服务器的IP ..删除它解决了这个问题。谢谢你的帮助!