我遇到了解决这个问题的麻烦.我有一个带有3个模块的APP,它们通过SOAP提供不同的服务.会发生什么,其中2人得到了这样的回应:
的SOAPFault
文件:/var/www/empreendimentos/vendor/zendframework/zendframework/library/Zend/Soap/Client.php:10
消息:程序不存在
我已经仔细检查了,函数的名称是正确的,我使用方法getFunctions.这是getFunctions()的返回:
array
0 => string 'Array getCliAll(anyType $filter)' (length=32)
1 => string 'Array insertCli(anyType $data)' (length=30)
2 => string 'Array editCli(anyType $data, anyType $id)' (length=41)
3 => string 'void setServiceLocator(anyType $serviceLocator)' (length=47)
4 => string 'void getServiceLocator()' (length=24)
Run Code Online (Sandbox Code Playgroud)
我的句柄方法如下所示:
public function handleWSDL() {
$autodiscover = new AutoDiscover();
$autodiscover->setClass('\Cli\Service\CliService');
$autodiscover->setUri($this->_URI);
$wsdl = $autodiscover->generate();
$wsdl = $wsdl->toDomDocument();
// geramos o XML dando um echo no $wsdl->saveXML()
echo $wsdl->saveXML();
}
public function handleSOAP() {
$soap = new \Zend\Soap\Server($this->_WSDL_URI);
$soap->setWSDLCache(false); …Run Code Online (Sandbox Code Playgroud)