3

我正在使用 PHP 中的 SoapServer 开发 Web 服务。以前,我使用完全相同的技术制作了另一个 Web 服务。我的新项目在同一台服务器上,但在另一个子目录中。在服务和soapserver 的url 中包含一个版本号。这是我的 SoapServer 在 PHP 中创建的方式:

$server = new SoapServer("https://".DOMAIN."/webservice/index.php?v=1.0.0&wsdl=1");
$server->setClass('SoapHandler');
$server->handle();

在我的示例 Soap Service 中,整个 PHP 页面是相同的,当然只有 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,这也不起作用。

谁能帮帮我?

4

2 回答 2

2

您必须在文件中启用您的 openssl 模块php.ini。否则,您将无法使用 SSL (https) 访问域。

否则,您应该从本地服务器检查您的域,并使用 curl 或 lynx 检查 WSDL 文件的返回。

于 2013-03-05T08:49:07.687 回答
1

我们有一个.htaccess,只允许我的IP地址,而它也应该允许服务器的IP..删除它解决了这个问题。谢谢你的帮助!

于 2013-03-05T10:10:13.287 回答