0

我目前正在使用 ZF2-RC2 并尝试在肥皂中做一个 web 服务我通过强制标头成功让我的 wsdl 工作,但对于服务器部分,它根本不工作,我收到一个错误 500 告诉我

PHP 警告:SoapServer::SoapServer(): I/O 警告:加载外部实体失败

错误是当我在做 ->handle() 部分时。

if(isset($_GET['wsdl'])) {
    header ("Content-Type:text/xml"); 
    $autodiscover = new AutoDiscover();
    $autodiscover->setClass('WsClass')
                 ->setUri('http://adresse/ws/?wsdl');
    echo $autodiscover->toXml();
} else {

    // pointing to the current file here        
    $soap = new Server('http://adresse/ws/?wsdl');
    $soap->setClass('WsClass');
    $soap->handle();
}
exit;

有人可以帮我吗?

4

1 回答 1

0

您不应将 AutoDiscover 对象中的 URI 设置为 wsdl。尝试

$autodiscover->setClass('WsClass')
             ->setUri('http://adresse/ws');

此外,将 / 放在服务器的构造函数中:

$soap = new Server('http://adresse/ws?wsdl');
于 2012-11-26T20:51:05.410 回答