sat.admin Posted December 5, 2015 Share Posted December 5, 2015 Buenas a todos. Estoy intentando probar y configurar el Webservice para la versión 1.6.1.2 sin conseguir hasta ahora un resultado correcto, me explico. La activación del Webservice no he tenido problemas. Si realizo la consulta del tipo: "www.myweb.es/api", me pide clave usuario, la pongo y me devuelve la información solicitada. <prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <api shopName="EARPRO PARTS"> <suppliers xlink:href="http://parts.earpro.es/api/suppliers" get="true" put="true" post="true" delete="true" head="true"> <description xlink:href="http://parts.earpro.es/api/suppliers" get="true" put="true" post="true" delete="true" head="true">The product suppliers</description> <schema xlink:href="http://parts.earpro.es/api/suppliers?schema=blank" type="blank"/> <schema xlink:href="http://parts.earpro.es/api/suppliers?schema=synopsis" type="synopsis"/> </suppliers> </api> </prestashop> con lo que la comunicación esta abierta. Todo correcto. Ahora, cuando es lugar de usar este tipo de consulta uso la consulta usando PSWebServiceLibrary.php solo consigo tener el siguiente error: "Other error: Supplier's List" Cambiando en el codigo de la pagina php la linea "echo 'Other error; " por "echo 'Other error: <br />' . $ex->getMessage();" Consigo ver que el error es "bad http response". Y hasta aquí he llegado, por que no se por donde buscar el problema. Por más que consulto, no encuentro mucha información con relación al webservice o a este error. espero que alguien me pueda dar una pista de por donde seguir. Gracias a todos. Link to comment Share on other sites More sharing options...
[email protected] Posted January 23, 2017 Share Posted January 23, 2017 Buenos días,yo estoy en la misma situación, y la información que hay es ínfima.Pudiste solucionar el problema? Link to comment Share on other sites More sharing options...
RamonAlonso Posted November 22, 2017 Share Posted November 22, 2017 Hola. Hoy me he encontrado con este mismo error. Después de probar un rato he conseguido solucionarlo. El problema viene por el certificado SSL instalado en el servidor. Por defecto curl intenta validar el certificado. Si no lo reconoce como emitido por una entidad válida, lo da por malo y no realiza la conexión. La solución es indicarle a Curl que no verifique nada. Lógicamente con un servidor en producción lo normal es tener un buen certificado y esto no haría falta, pero en pruebas puede pasar. Para solucionarlo hay que editar la librería del webservice PSWebServiceLibrary.php, método executeRequest. Ahí añadimos en $defaultParams un par de líneas, quedando de esta forma: $defaultParams = array( CURLOPT_HEADER => TRUE, CURLOPT_RETURNTRANSFER => TRUE, CURLINFO_HEADER_OUT => TRUE, CURLOPT_HTTPAUTH => CURLAUTH_BASIC, CURLOPT_USERPWD => $this->key.':', CURLOPT_HTTPHEADER => array( 'Expect:' ), CURLOPT_SSL_VERIFYHOST => 0, // Añadida CURLOPT_SSL_VERIFYPEER => 0 // Añadida ); Con esta modificación ya podemos utilizar https sin problemas. Un saludo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now