1

CentOS 6、Apache 2.2、PHP 5.4 を搭載したクラウド サーバーがあり、Magento を搭載したサイトが 1 つあります。そして、Magento WebService を使用しようとすると、次のエラーが返されます。

SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******.com/dev/index.php/api/soap/index/?wsdl=1' : failed to load external entity "http://******.com/dev/index.php/api/soap/index/?wsdl=1"

こことグーグルで検索し、php.iniで多くの変更を試みましたが、すべての場合で成功しません。

場合によっては、これはサーバー側の問題であり、構成が悪いためです。

注¹: SOAP はサーバーにインストールされ、phpinfo() で SOAP が有効になっています。

注²: 別のサーバーでは正常に動作していました。

誰でもこれを解決する方法を知っていますか?

編集: サーバーは WHM/CPanel を使用し、Apache、PHP のインストールには EasyApache を使用します。そして、デフォルト構成を使用します。

Edit2: これは、SOAP とそれが返すエラーを使用する単純なサンプル コードです。

コード: (このコードの 1 行目は 9 行目、13 行目は "$cli = new SoapClient($api_url_v1);")

<?php
    $api_url_v1 = "http://site.com/dev/api/soap/?wsdl=1";
    $username = '*********';
    $password = '*********';
    $cli = new SoapClient($api_url_v1);
    //retreive session id from login
    $session_id = $cli->login($username, $password);
    //call customer.list method
    $result = $cli->call($session_id, 'customer.list', array(array()));
?>

エラー:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://site.com/dev/api/soap/?wsdl=1' : failed to load external entity "http://site.com/dev/api/soap/?wsdl=1" in /home/******/public_html/test_soap.php:13 Stack trace: #0 /home/******/public_html/test_soap.php(13): SoapClient->SoapClient('http://site...') #1 {main} thrown in /home/******/public_html/test_soap.php on line 13
4

1 に答える 1

0

webbrowser 経由で wsdl を取得してみてください。これが機能しない場合は、URL にエラーがあります。URL の www バージョンを試し、不適切な書き換えをチェックし、htaccess をチェックします。httpsは必要ありません!

于 2013-07-06T20:56:24.913 に答える