Estoy atorado con un sencillisimo cliente Webservice.
Tengo que consumir un WS que solicita una imagen JPG de menos de 100 kb en formato arreglo binario (base64).
El WS es: http://201.144.89.12/recepcionImagen...esService.wsdl
Y mi cliente es así:
Código:
Obtengo una excepción SoapFault: looks like we got no XML document<?php /* Módulo de consumo WS Infonavit 2014 con imágenes */ $servicio = "http://201.144.89.12/recepcionImagenesWS/ReceptorImagenesService/WEB-INF/wsdl/ReceptorImagenesService.wsdl"; $client = new SoapClient($servicio ,array("encoding"=>"ISO-8859-1","trace" => 1, "exceptions" => 1) ); class usuarioWSVO{ var $idusuario = ''; var $contrasenia = ''; function usuarioWSVO($idusuario, $contrasenia){ $this->idusuario = $idusuario; $this->contrasenia = $contrasenia; } } $usuario = new usuarioWSVO("USER","Prueba"); class imagenWSVO{ var $id_avaluo = ''; var $id_imagen = 0; var $observaciones = ''; var $pie_foto = ''; function imagenWSVO($id_avaluo,$id_imagen,$observaciones,$pie_foto){ $this->id_avaluo = $id_avaluo; $this->id_imagen = $id_imagen; $this->observaciones = $observaciones; $this->pie_foto = $pie_foto; } } $imagen = new imagenWSVO('28149184249022996',1,'Prueba de fachada 1','Fachada'); // Codificar imagen en Base64 $img_src = "ruta/imagen.jpg"; $imgbinary = fread(fopen($img_src, "r"), filesize($img_src)); $base64 = base64_encode($imgbinary); // Realizar envío WS try{ $resultado = $client->recibirImagen(array("arg0"=>$base64,"arg1"=>$usuario, "arg2"=>$imagen )); print_r($resultado->return->resultado); } catch (SoapFault $exception) { trigger_error("SOAP Fault: (faultcode: {$exception->faultcode}, faultstring: {$exception->faultstring})"); var_dump($exception); } ?>
Solicito ayuda por que ya llevo atorado una semana entera y no he podido resolverlo.
Espero me puedan ayudar, gracias.
P.D. El WS servidor es de otra compañía por lo que no podría modificarlo, pienso que el problema esta más bien en mi cliente WS.