Especificaciones SOAPI (Soap Ovh API)
Introducción
SOAPI es un servicio web que le permite comprar y configurar sus productos OVH sin tener que contectarse a la interfaz de cliente (Manager v3).
Con la tecnología WDSL, utiliza los métodos OVH a distancia con pequeños códigos de alguna lineas solamente, en su lenguaje de programación favorito
¿Cuales son las ventajas de SOAPI ?
- Un desarrollo rápido de las aplicaciones con la tecnología WSDL y con generador de código.
- Realizar varias operaciones a la vez.
- Automatizar y planificar las tareas.
- Simplificar la compra y gestión de dominios (reseller)
- Crear su propio interfaz de gestión de productos. OVH interfaz de cliente.
¿Qué lenguajes de programación son compatibles con SOAPI?
Nuestro servicio web ha sido probado con estos lenguajes/librería
- PHP : PHP5 SOAP Extension, PEAR SOAP et NuSOAP
- Perl : SOAP: :WSDL con SOAP: :Lite)
- Python : SOAPpy
- C#, dotNET framework 2.0
Manual de usuario de Soapi (en español) :
http://www.ovh.es/soapi/es/
Aplicación de ejemplo en Soapi (PHP) :
http://beta.ovh.me/projects/show/php-my-ovh
Posibles problemas y soluciones
Error python 'KeyError'
Si tiene el error siguiente :
Debe utilizar la última versión de desarrollo de SOAPpy :
http://pywebsvcs.svn.sourceforge.net/viewvc/pywebsvcs/trunk/SOAPpy/
Errores Curl en su servidor dedicado
Si tiene los serrores siguientes :
- Client soap:ClientApplication failed during request deserialization ...
- HTTP curl_exec error 35 Unknown SSL protocol error in connection to ...
La razón probable es la gestión del Timeout por defecto de Curl sea demasiado corta.
Para solucionarlo, aumente el timeout de Curl editando la clase
SOAP_Transport_HTTP
El fichero se encuentra en :
- bajo Debian en /usr/local/php/SOAP/Transport/HTTP.php
- bajo Gentoo en /usr/share/php/SOAP/Transport/HTTP.php
Modifique la variable
$timeout (ligne 64) :
var $timeout = 30;
Gestión de conexiones simultaneas
Perl :
#!/usr/bin/perl
use strict;
use SOAP::WSDL;
import SOAP::Lite;
# Keep-Alive
$SOAP::Constants::PATCH_HTTP_KEEPALIVE = 1;
my $soap = SOAP::WSDL->new();
$soap->wsdl('http://www.ovh.com/soapi/ovh.wsdl')
$soap->wsdlinit();
# limitacion de conexiones simultaneas
my $transport = $soap->transport();
$transport->conn_cache({ total_capacity => 10 });
[...]
Más información
http://www.ovh.es/soapi/es/
http://beta.ovh.me/projects/show/php-my-ovh