Se debe acceder al método ZEND SOAP a través de SSL
Frecuentes
Visto 2,360 equipos
1
Tengo un certificado SSL en mi sitio. Lo instaló mi proveedor de alojamiento y he probado que se instaló correctamente. Estoy tratando de consumir un servicio web SOAP de mindbodyonline.com/api y recibo este mensaje en la respuesta
Se debe acceder a este método a través de SSL (HTTPS).
Estoy usando Soap Client de Zend Framework y ha estado funcionando para la mayoría de los servicios, pero este en particular contiene información de la tarjeta de crédito y probablemente por eso necesita la conexión segura. No he podido encontrar ninguna información sobre cómo enviar mi solicitud SOAP de forma segura. Estoy creando el cliente usando el siguiente código.
$client = new Zend_Soap_Client('https://api.mindbodyonline.com/0_5/ClientService.asmx?WSDL', array("soap_version"=>SOAP_1_1));
alguien capaz de ayudar?
1 Respuestas
0
El WSDL especifica todos los puntos finales como http, no https. Así que tuve que cambiar el punto final en el constructor Zend_Soap_Client. Los documentos de Zend_Soap_Client http://framework.zend.com/manual/en/zend.soap.client.html dicen que la opcion de ubicacion no funciona en modo WSDL pero estan mal. Agregar la opción de ubicación anula el punto final especificado en el WSDL. Lo hice funcionar usando este código
$client = new Zend_Soap_Client('https://api.mindbodyonline.com/0_5/ClientService.asmx?WSDL', array("soap_version"=>SOAP_1_1,'location'=>'https://api.mindbodyonline.com/0_5/ClientService.asmx'));
¡Gracias a drew010 por su ayuda!
Respondido el 12 de junio de 12 a las 22:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas zend-framework soap ssl https zend-soap or haz tu propia pregunta.
Si crea un archivo phpinfo con
<?php phpinfo() ?>
en ella, se nota que tieneshttps
disponible bajoRegistered PHP Streams
y/ossl/tls
bajoRegistered Stream Socket Transports
. Me pregunto si está recurriendo al uso de http porque no tiene Openssl integrado en PHP. - drew010Sí, veo https, ssl y tls allí - Devin Crossman
Ok, parece que no tengo la extensión SOAP instalada en mi máquina, voy a agregarla de vez en cuando puedo verificar si recibo el mismo error. - drew010
¡Gracias! Estuve examinando los resultados de Google todo el día. Devin Crossman
Ok, tengo jabón configurado; cuando hice una solicitud, falló, pero la falla estaba en el lado del servidor remoto, así que supongo que no me encontré con el mismo problema. ¿Puedes publicar un código más específico que pueda probar? Hice:
$client = new Zend_Soap_Client('https://api.mindbodyonline.com/0_5/ClientService.asmx?WSDL', array("soap_version"=>SOAP_1_1)); $client->GetClients();
y el resultado fueServer was unable to process request. ---> System.NullReferenceException: at mb.API._0_5.ClientService.GetClients() in \ClientService.asmx.cs:line 837
. Probablemente paso malos datos. - drew010