我得到:致命错误:第832行的/chroot/home/mystore/mystore.com/html/lib/Zend/Soap/Server.php中没有程序'login'
这是错误的来源
$soap = $this->_getSoap();
ob_start();
if($setRequestException instanceof Exception) {
// Send SOAP fault message if we've catched exception
$soap->fault("Sender", $setRequestException->getMessage());
} else {
try {
$soap->handle($request);
} catch (Exception $e) {
$fault = $this->fault($e);
$soap->fault($fault->faultcode, $fault->faultstring);
Run Code Online (Sandbox Code Playgroud)
有关如何修复错误的任何想法?
小智 13
我有同样的问题,我做的是修复它是去System/Configuration/Magento Core API并将值WS-I Compliance设置为'No'.
我正在使用一个消耗Magento V2 API的WebService,我不记得是否使用此值生成Web引用为"是"; 我正在使用VS 2010使用WS C#.
我有类似的问题,我不想更改 API 版本。删除 WSDL 缓存对我有帮助。
运行它以获取 WSDL 缓存文件夹:
php -i | grep soap
Run Code Online (Sandbox Code Playgroud)
从结果可以看到WDSL缓存是开启的,并且存储在/tmp中:
soap
soap.wsdl_cache => 1 => 1
soap.wsdl_cache_dir => /tmp => /tmp
soap.wsdl_cache_enabled => 1 => 1
soap.wsdl_cache_limit => 5 => 5
soap.wsdl_cache_ttl => 86400 => 86400
Run Code Online (Sandbox Code Playgroud)
删除缓存并再次运行它:
sudo rm -rf /tmp/*
Run Code Online (Sandbox Code Playgroud)
我在这篇文章中找到了线索 - http://artur.ejsmont.org/blog/content/php-soap-error-procedure-xxx-not-present