5

我收到:致命错误:第 832 行的 /chroot/home/mystore/mystore.com/html/lib/Zend/Soap/Server.php 中不存在过程“登录”

这是错误的来源

$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);

关于如何修复错误的任何想法?

4

2 回答 2

13


我遇到了同样的问题,我解决它的方法是转到 System/Configuration/Magento Core API 并将值 WS-I Compliance 设置为“No”。
我正在使用使用 Magento V2 API 的 WebService,我不记得是否使用此值生成 Web 引用作为“是”;我正在使用 VS 2010 使用 WS C#。

于 2012-11-07T21:57:23.350 回答
5

我有类似的问题,我不想更改 API 版本。删除 WSDL 缓存对我有帮助。

运行此命令以获取 WSDL 缓存文件夹:

php -i | grep soap

从结果中您可以看到 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

删除缓存并再次运行:

sudo rm -rf /tmp/*

我在这篇文章中找到了线索 - http://artur.ejsmont.org/blog/content/php-soap-error-procedure-xxx-not-present

于 2014-11-24T22:20:45.830 回答