OVH Community, your new community space.

Ayuda con SOAPI de OVH


tecfernandez92
23/07/2010, 21:09
Revivo el post jeje.

Bien, contraté hace poco el pack de 100 SMS de OVH para jugar un poco.

Hoy me ha venido una idea. Como puedo hacer una web en la que pongas el texto del mensaje, un numero de telefono, le dés a Enviar y se envie el sms?

Es como si fuera un formulario de contacto de los que se encuentran en la mayoria de las webs.

No tengo ni idea de programación ni tampoco se como funciona la Soapi de OVH, por lo que si alguno de vosotros tiene una cosa similar a la que yo quiero, le agradeceria que me pasara el codigo a modo de plantilla (supongo que despues hay que cambiar el usuario y la contraseña del codigo y listo, no?)

Un saludo y gracias de antemano!

nadeu
07/02/2010, 12:10
Yo de toda la vida he trabajado con la libreria nuSoap. Creo que en este tema es mucho mejor, aunque para gustos colores.

Saludos,
Nadeu.

MarcosBL
20/01/2010, 13:59
Amén, serán tomadas ;-)

kennysamuerto
20/01/2010, 13:48
Cita Publicado inicialmente por MarcosBL
+1, lo mismo de Berilo, no sabía si devolvía Objeto o Array, se ve que es un objeto
Pues te puedes creer que estaba completamente bloqueado?

Deben de ser las horas de trabajo acumulado, pero no sabia por donde tirar.

Por cierto, tambien tomate unas birritas, que tambien las pago yo jeje.

Gracias a ambos.

kennysamuerto
20/01/2010, 13:47
Cita Publicado inicialmente por Berilo
y si en lugar de
Código:
$result['image']
pruebas con
Código:
$result->image
Muchisimas Gracias Berilo.

A eso me referia, estaba completamente bloqueado, y no conseguia sacarla.

Ahora si que si.

Muchas Gracias de nuevo, tomate unas birras a mi salud, que invito yo.

MarcosBL
20/01/2010, 13:42
+1, lo mismo de Berilo, no sabía si devolvía Objeto o Array, se ve que es un objeto

Berilo
20/01/2010, 13:40
y si en lugar de
Código:
$result['image']
pruebas con
Código:
$result->image

kennysamuerto
20/01/2010, 13:12
Cita Publicado inicialmente por MarcosBL
kennysamuerto, si lo que te devuelve es un array basta con un simple:

Código PHP:
echo ".$result["image"]."'/>"
no ? :-D

O incluso puedes ir guardando esa imagen en disco con la fecha para mantener un historial por dias, o lo que sea, no sé ya cuales son tus necesidades en esto :-)
Si, eso es en teoria lo que he intentado hacer... pero me devuelve:

Fatal error: Cannot use object of type stdClass as array in /var/www/vhosts/dominio.com/httpdocs/soap.php on line 14

Y no se porque razon, me he quedado bloqueado ahi.

Gracias por tu aportacion.

Un Saludo

MarcosBL
20/01/2010, 09:26
kennysamuerto, si lo que te devuelve es un array basta con un simple:

Código PHP:
echo ".$result["image"]."'/>"
no ? :-D

O incluso puedes ir guardando esa imagen en disco con la fecha para mantener un historial por dias, o lo que sea, no sé ya cuales son tus necesidades en esto :-)

kennysamuerto
20/01/2010, 04:22
Voy a aprovechar el tema, porque, quizas es por las horas, o no se porque, pero estoy completamente nulo hoy con el PHP.

Estoy intentando sacar las graficas MRTG de los servidores. Es decir:

De la SOAP:

Código PHP:
$result $soap->dedicatedMrtgInfo($session"xx.xxx""traffic""day""94.44.44.44");
echo 
"Informacion del Dedicado:\n

";
 
print_r($result); 

me da el siguiente resultado:

stdClass Object ( [average] => stdClass Object ( [in] => 335.5 kb/s [out] => 2177.2 kb/s ) [current] => stdClass Object ( [in] => 125.0 kb/s [out] => 676.5 kb/s ) [max] => stdClass Object ( [in] => 1104.3 kb/s [out] => 5482.0 kb/s ) [image] => https://www.xxx.com:444/94.44.444/367977969904.png )
Pero solo necesito la grafica, es decir:

¿Alguien puede darme luz en el tunel en el que me he metido?

Porque parece que estoy nulo hoy para el PHP...

Power
19/01/2010, 17:43
Hola,

Cita Publicado inicialmente por USStrat
Me contesto (ASUNTO RESUELTO) a mi mismo:

- Compilar Apache con openssl support.
¡¡ Vaya !! Acabo de leer tu mensaje.
Iba a responderte lo mismo (instala openssl), pero te has adelantado.
A mí me ocurrió hace tiempo igual y algún colega del foro (no recuerdo ahora quien) me dió esa misma solución.

Saludos

USStrat
19/01/2010, 10:29
Me contesto (ASUNTO RESUELTO) a mi mismo:

- Compilar Apache con openssl support.

USStrat
19/01/2010, 09:25
Aprovechando este hilo, y ya que me pasa LO MISMO, en un Centos 5.4, con cpanel 11.25, en un contenedor Virtuozzo.

En mi caso es siempre lo mismo:
SoapFault exception: [HTTP] Could not connect to host in /home/ejemplo/public_html/test/check.php Stack trace: #0 [internal function]: SoapClient->__doRequest('__call('login', Array) #2 /home/ejemplo/public_html/test/check.php(8): SoapClient->login('xxxxxx-ovh', 'xxxxxxxx', 'es', false) #3 {main}


Da igual lo que haga, he probado a crear el user_Agent vacio, a desactivar iptables por completo, lo que sea... Pero nada.
Tema de red no es, accedo desde el server a todas las direcciones y puertos que define el wsdl de OVH, y PHP 5.2.12 compilado con --enable-soap. También probado nusoap.

¿qué es lo que puede estar pasando? He llamado incluso a OVH, para ver si había alguna incidencia o algo, pero negativo. Es cosa nuestra...

Descartado también "algo raro" con nuestro Ovh handle, ya que usando el software mom (que usa el soapi igualmente, no?) no hay ningún problema.

cualquier sugerencia será bien valorada

MarcosBL
18/12/2009, 11:35
¡ Madre mía lo que has tenido que liar para actualizar ! :-D

Me alegro que ya te funcione, de maestro nada, ahora de " Bugfinder " sé un rato largo, básicamente por las veces que la he cagado yo mismo primero xD

Un placer, y un abrazo ! :-)

Power
17/12/2009, 21:17
Hola,

Tenía instalada una versión de PHP 5.1 y no era capaz, con yum, de actualizar a versiones más modernas de PHP.

Después de tirarme bastantes horas buscando repositorios de Yum para CentOS con versiones más actuales de PHP, dí con Remi (http://blog.famillecollet.com/post/2...llation-et-yum).

Previamente me cargué yum al intentarlo con http://iuscommunity.org/

Y para que me funcionase Remi tuve que:
- Instalar previamente Epel
- Cambiar priority en la configuración de otros repositorios
- Desinstalar antes un montón de módulos de php
- ... pero al final conseguí tener PHP 5.3.1 funcionando correctamente.

Nota al margen:
Ahora es cuando valoro la facilidad para instalar, desinstalar y compilar Apache con todos los módulos que quiera que me proporciona cPanel en mi otro servidor. Los 25 euros mensuales de la licencia quedan ampliamente amortizados.


MarcosBL, una vez más, has dado en el clavo.
El problema era ese bug que indicabas.
Ahora me funciona la SOAPI de OVH de perlas.

MarcosBL, además de un gran maestro, eres también algo de brujo, adivino o mago, porque si no, no me explico como consigues siempre encontrar el problema.

¡¡¡ Muchísimas gracias de nuevo MAESTRO MARCOSBL !!!

Saludos

MarcosBL
17/12/2009, 09:05
La versión de PHP es la misma en ambos servidores tambien ? Lo digo por si te está afectando este bug: http://bugs.php.net/bug.php?id=41983

Has probado a ver si algún cliente de terceros, como NuSoap, conecta bien? Por descartar que sea culpa del cliente Soap de PHP.

Otra prueba de "debug" podría ser añadir a los parámetros de creación 'trace'=>1 y después podrías hacer

var_dump($client->__getLastRequest());
var_dump($client->__getLastResponse())

a ver qué es lo que te está llegando. No tengo cuenta de envío de SMS, es una de las de prueba que habian dado ? o la puedo activar desde mi manager de alguna forma para probar yo en mi servidor ?

Power
16/12/2009, 21:28
Hola MarcosBL,

Muchas gracias por echarme una mano (también en esto).

Hago un script llamado simple.php con:
Código:
""));
$session = $soap->login("rj*****-ovh", "*******", "es", false);
?>
Con CSF desconectado, lo llamo desde web y me contesta:
Código:
Fatal error:  Uncaught SoapFault exception: [HTTP] Error Fetching http headers in /var/www/html/simple.php:3
Stack trace: #0 [internal function]:
SoapClient->__doRequest('__call('login', Array) #2 /var/www/html/simple.php(3):
SoapClient->login('rj*****-ovh', '********', 'es', false) #3 {main}   thrown in /var/www/html/simple.php on line 3
Parece que da error cuando intenta loguearse.

Saludos y gracias, de nuevo.

MarcosBL
16/12/2009, 20:03
Power, con CSF inactivo, prueba a crear el objeto pasando un user agent vacío, asi:

new SoapClient($wsdl, array("user_agent"=>""));

Mira también que la URL llamada no esté devolviendo un redirect o un 404, y si es factible, pega el resultado que devuelve "el html vamos) cuando te da el "Error Fetching http headers"

Power
16/12/2009, 17:22
Hola,
Cita Publicado inicialmente por kitamarchas
Ya tenía instalado perl y perl-SOAP-Lite , pero, a pesar de elllo, no me funciona.

He comprobado una cosa curiosa, si tengo CSF activo el mensaje de error es:
Código:
SoapFault exception: [HTTP] Could not connect to host in /var/www/html/prueba_sms.php:13 Stack trace: #0 [internal function]...
Y si lo tengo desactivado:
Código:
SoapFault exception: [HTTP] Error Fetching http headers in /var/www/html/prueba_sms.php:13 Stack trace: #0 [internal function]...
Insisto en que en otro servidor con CentOS de 32 bits y cPanel me funciona.

Saludos

kitamarchas
16/12/2009, 11:04
Prueba a instalar Perl

http://search.cpan.org/~byrne/SOAP-L...Apache/SOAP.pm

Power
16/12/2009, 09:19
Hola,
Cita Publicado inicialmente por Shuugo
Tienes los mismos modulos de php?

Que no dependa de socket o algo aparte del de soapi
En el servidor con CentOS 5.4 de 32 bits con cPanel el Apache está recompilado con los módulos dentro (ventajas del EasyApache de cPanel). En ése la SOAPI va bien.

En el servidor con CentOS 5.4 de 64 bits sin cPanel, instalé, con yum, openssl, php-soap y php-xml y no me funciona la SOAPI.

Saludos

Shuugo
16/12/2009, 00:17
Tienes los mismos modulos de php?

Que no dependa de socket o algo aparte del de soapi

Power
15/12/2009, 20:16
Hola,

Confirmado.
Apago el CSF+LFD y sigue fallando la SOAPI en el CentOS 5.4 sin cPanel.

Saludos

Power
15/12/2009, 19:38
Hola,

Pues yo juraría que tengo abiertos los mismos puertos en un servidor que en otro.
De todas formas, voy a confirmarlo.
Hasta luego.

Saludos

kennysamuerto
15/12/2009, 14:26
Confirmado. Con el CSF desactivado funciona.

Asi que tocara abrir puertos.

Gracias, un Saludo!

fametown
15/12/2009, 11:42
Tengo un Centos 5.2 + cPanel 11.25.0-C42048 y me funciona correctamente.

Creo recordar en su momento abrí varios puertos en el CSF. Prueba a desactivarlo para ver si es tema de puertos y si es eso te paso los puertos que abrí en su momento.

kennysamuerto
15/12/2009, 10:56
Cita Publicado inicialmente por Power
Hola,

En mi CentOS 5.4 de 32 bits con cPanel sí funciona.

Saludos
Perdon, lo habia leido mal.

Entonces, esto si que es un dilema...

Power
15/12/2009, 10:14
Hola,

En mi CentOS 5.4 de 32 bits con cPanel sí funciona.

Saludos

kennysamuerto
15/12/2009, 10:03
Por cierto 32 Bits.

¿No funciona en los 32 Bits?

kennysamuerto
15/12/2009, 09:59
Mismo problema con cualquier archivo script SOAPI.

Servidor CentOS 5.2.11 + Plesk 9.2

Un Saludo

Power
15/12/2009, 09:26
Hola Giner,

En el servidor que me funciona correctamente tengo CentOS 5.4 de 32 bits + cPanel 11.24.5 - WHM 11.24.2 - X 3.9

En el que no me funciona, tengo CentOS 5.4 de 64 bits sin cPanel.

Saludos

Giner OVH
14/12/2009, 22:44
Mismo error que tú con cPanel 11.25 32bit
Con Release2 64bit funciona OK.

Power
14/12/2009, 19:52
Hola,

Gracias Giner.

Sigo con el problema.
Si me puedes echar una mano, te lo agradezco.

Saludos

Giner OVH
14/12/2009, 19:40
Sigues con el problema?
Lo pruebo a ver y te digo...

Power
10/12/2009, 23:33
Hola,

¿Alguien que me eche una mano?
(Ahora que ya ha pasado el puente).
Gracias adelantadas.

Saludos

Power
05/12/2009, 18:54
Hola,

Tengo un nuevo servidor con CentOS 64 bits.
Tengo un script en PHP para envío de SMS a través de la SOAPI de OVH: http://www.ovh.com/soapi/es/?method=telephonySmsSend
Y me da siempre el error:
Código:
SoapFault exception: [HTTP] Could not connect to host in /var/www/html/prueba_sms.php:13 Stack trace: #0 [internal function]: SoapClient->__doRequest('__call('login', Array) #2 /var/www/html/prueba_sms.php(13):
SoapClient->login('rj*****-ovh', '*****', 'es', false) #3 {main}
La línea a que se refiere el error es:
$session = $soap->login("rj*****-ovh", "*****", "es", false);

Sin embargo, el mismo script en otro servidor con CentOS 32 bits + cPanel me pasa bien por esa línea.

En el nuevo servidor tengo abiertos en salida los puertos 80 y 443 de TCP en el firewall CSF.
Supongo que me falta por cargar algo.
He instalado openssl, php-soap y php-xml y he reiniciado httpd y sigue igual.

¿Alguien me podría decir qué me falta por instalar?
Gracias.

Saludos