warning unknown the soapclient problem prior often name looking from failed extension error couldn magento soap

magento - the - soap error parsing wsdl unknown required wsdl extension



Error WSDL: SOAP-ERROR: AnĂ¡lisis WSDL: No se pudo cargar desde (4)

Algunos pasos para comprobar

Tener un ping a Myhostname. Daría la ip. Usa ip en su lugar y mira

Compruebe si los servicios están habilitados S0AP, php_openssl, openssl, curl

Espero que lo consigas :)

Mi problema es muy común. Leí casi todos los temas en stackoverflow sobre este problema, pero aún así no puedo hacer nada. Mi código es:

ini_set("soap.wsdl_cache", "0"); ini_set("soap.wsdl_cache_enabled", "0"); $proxy = new SoapClient(''http://Myhostname/api/soap?wsdl'');

Tuve este error:

Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn''t load from ''http://Myhostname/api/soap?wsdl'' : failed to load external entity "http://Myhostname/api/soap?wsdl"

En el navegador la URL

http://Myhostname/api/soap?wsdl

funciona muy bien (devuelve una respuesta xml)

Intento este código para ver si PHP puede llegar a esta URL:

if (file_get_contents(''http://Myhostname/api/soap?wsdl'') === false) { echo "ERROR: file_get_contents <br/>"; }

Me muestra mi error "ERROR: file_get_contents", por lo que no funciona. En los foros vi que para resolver este problema debo agregar el nombre de host al archivo "hosts" del sistema operativo. Así que lo hice. En mi archivo hosts agregué esta línea 127.0.0.1 Myhostname

Pero todavía no funciona. Luego cambié la URL en mi código para

http://localhost/Myhostname/api/soap?wsdl

Pero tampoco funciona.

Probé otra solución que encontré en internet. Para algunas personas funcionó. En mi URL he cambiado ''?'' personaje a ''.''. Así que mi nueva URL se convirtió

http://localhost/Myhostname/api/soap.wsdl

Pero tampoco funciona.

Vi oficial de SOAP doc ! Y trató de crear el objeto SoapClient de manera diferente (con opciones como ''proxy_host'' y ''proxy_port''). Pero esto no me ayudó.

Es mi segundo día trato de resolver este problema, pero no puedo. Estoy haciendo mi pasantía, no tengo mucha experiencia, así que tal vez no probé las soluciones que encontré correctamente. Tal vez alguien pueda ayudar. Yo estaria muy contento.


Tengo el problema similar, lo resuelvo sin comentarios -MultiViews del archivo .htaccess, y luego de la configuración de Apache del sitio web local.

Mi configuración de trabajo de Apache es:

<Directory /var/www/> Options Indexes FollowSymLinks -MultiViews AllowOverride All Order allow,deny allow from all </Directory>

Puedes probar también la url:

http://localhost/Myhostname/api.php?type=soap&wsdl

Si usas edición comunitaria.


en lugar de $ proxy = new SoapClient ( ''http://Myhostname/api/soap?wsdl'' );
intente $ proxy = nuevo SoapClient (WSDLFILENAME);
donde WSDLFILENAME es el nombre del sistema operativo del archivo WSDL. Esto tiene la ventaja adicional de hacer que un cliente-servidor reduzca menos el viaje.


SOAP Web Services en mi host local y funcionaba bien. La razón por la que Magento no pudo dar una respuesta a la solicitud fue porque no pudo verificar los SSL Certificates habilitados en el sitio.

La forma en que lo resolví fue permitir la SSL verification :

$opts = [ ''http'' => [ ''header'' => "Authorization: Bearer ".$token ], ''ssl'' => [ ''allow_self_signed'' => true , ''verify_peer'' => false, ''verify_peer_name'' => false] ]; $context = stream_context_create($opts);

Espero que ayude. ;)