5

私は得ています: Fatal error: Procedure 'login' not present in /chroot/home/mystore/mystore.com/html/lib/Zend/Soap/Server.php 行 832

これがエラーの原因です

$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


私は同じ問題を抱えていました。それを修正するために行ったのは、システム/構成/Magento Core API に移動し、WS-I コンプライアンスの値を「いいえ」に設定することでした。
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 に答える