Hola a todos:
Quiero hacer una correccion al anterior post que habia hecho sobre "Autorespuesta Ayuda SOAP y PHP".
El ejemplo anterior era demasiado basico ahora lo puebo el codigo para consumir un webservice real como es el caso de Google-Api o Amazon, en mi caso son los de mi empresa.
Al utilizar las librerias de PEAR:SOAP, he iniciar a partir de class SOAP_WSDL(), este autogenera el codigo de llamado al servicio como el que esta aqui:
class WebService_FRMDCPService_FRMDCPServiceSoap extends SOAP_Client
{
function WebService_FRMDCPService_FRMDCPServiceSoap()
{
$this->SOAP_Client("http://ws.databusiness.cl/ws_frmdcp.asmx", 0);
}
function &Dcptransaccion($IdUser, $IdPassw, $idMonto, $IdMod, $IdTax)
{
return $this->call("Dcptransaccion", $v = array("IdUser"=>$IdUser, "IdPassw"=>$IdPassw, "idMonto"=>$idMonto, "IdMod"=>$IdMod, "IdTax"=>$IdTax), array('namespace'=>'http://tempuri.org/FRMDCP', 'soapaction'=>'http://tempuri.org/FRMDCP/Dcptransaccion', 'style'=>'rpc', 'use'=>'encoded' ));
}
}
Esto lo extrage haciendo un echo $classname en la linea 622 de SOAP_WSDL.php, este codigo autogenerado es el que encapsula todo lo necesario para nuestro servicio, es mas desde aqui ya el nos retorna una estructura de multiples niveles, con elementos y atributos.
Si hacen esto quizas les pase lo mismo de mi, al ver ejemplo de Soap_client() que entrega los paramentros de consulta en una forma de Array....Creanme esto no es necesario ya que SOAP_WSDL nos libera de eso y solo pasamos los parametros de la forma natural a la funcion ....es decir funcion("","","",""....)
Es un Aviso para quienes vean el tema, no se quiebren la cabeza como me apso a mi.
Si publican esto en zonephp plis hagan la modificacion o extension del mensaje de como se le entrega los parametros a la funcion del Web Service.
Atte
Roitt