Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2014, 10:21
Avatar de Yamilskate
Yamilskate
 
Fecha de Ingreso: septiembre-2006
Mensajes: 94
Antigüedad: 17 años, 7 meses
Puntos: 0
Consumir Webservice y pasar imagen en arreglo binario (base64)

¿Alguien me podría ayudar?

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:
<?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);  
	}	
?>
Obtengo una excepción SoapFault: looks like we got no XML document

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.