Foros del Web » Programando para Internet » PHP »

Cliente nusoap a Webservice C# .. enviar arrays de arrays

Estas en el tema de Cliente nusoap a Webservice C# .. enviar arrays de arrays en el foro de PHP en Foros del Web. Estimados Foristas. Muy buenas noches. Miren que hice un servicio Web en C# al cual le envio un docx (sea ruta física o serializado) , ...
  #1 (permalink)  
Antiguo 10/10/2012, 20:02
Avatar de Hollman  
Fecha de Ingreso: enero-2003
Ubicación: Bogotá - Colombia
Mensajes: 202
Antigüedad: 21 años, 2 meses
Puntos: 1
Exclamación Cliente nusoap a Webservice C# .. enviar arrays de arrays

Estimados Foristas.

Muy buenas noches.

Miren que hice un servicio Web en C# al cual le envio un docx (sea ruta física o serializado) , una variable Z a buscar, una variable X a reemplazar y me devuelve otro docx (sea ruta o serializado) con la busqueda y reemplace realizado. Todo va bien. El servicio Web es consumido por un cliente PHP (5.2.3 + NuSoap 0.9.5)

Ahora deseo implementar algo masivo, que se puedan ir n variables con su respectivo valor a reemplazar ... algo como un array de arrays ..

[php code]
$datos[] = array("nombre" , "Pedro", "apellido", "Urrutia");
$datos[] = array("nombre" , "Juan", "apellido", "Garcia");
[/php code]

Para que el Webservice tenga la firma algo así

public int combinaPlantilla2(string rutaOrigen, string rutaDestino, string[][] variables)


La idea es que por cada array en $datos ( o variables en el método c# ) pueda generar una nueva hoja... en este caso el documento en rutaDestino tendrá 2 hojas con el mismo cuerpo pero combinadas las variables nombre y apellido. Como todo debe ser paso a paso... intento que por lo menos pasar solo un array en $datos para que me devuelva un documento con una sola pagina (combinando a nombre y apellido) ... NO HE PODIDO


Acá está el SOAP 1.1 del servicio Web y a continuación el código cliente que lo invoca

Código:
<?php
require("./lib/nusoap.php");
$option=array('trace'=>1);
$client = new nusoap_client("http://localhost:17622/orfeoOfficeWebService/Service.asmx?wsdl", $option );
$err = $client->getError();
if ($err) {
	echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
	echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->getDebug(), ENT_QUOTES) . '</pre>';
	exit();
} else {
	$ori = "C:\\Users\\hladino\\Documents\\Formato_carta_blanco_y_negro.docx";
	$des = "E:\\xxx.docx";
	$variables[] = array("*RAD_S*" , "1234567890");
	$arregloDatos[] = array(	'rutaOrigen' => $ori,
								'rutaDestino' => $des,
								'variables' => $variables
						   );
	$result = $client->call( 'combinaPlantilla2' , $arregloDatos );
	if ($client->fault) {
		echo "<h2>Fault1</h2><pre>".var_dump($result)."</pre>";
	} else {
		$err = $client->getError();
		if ($err) {
			echo "<h2>Error1</h2><pre>".var_dump($result)."</pre>";
		} else {
			echo "<h2>Result1</h2><pre>".var_dump($result)."</pre>";
		}
	}
}
?>

Agradeceré imensamente quien me ayude o pueda dar alternativas para sacar esto adelante.....

Muchas gracias y muchos éxitos.

PD: Este tema también aplica a C Sharp... pero creo no se debe postear en ambos lados. En caso tal que si, podría el administrador del for hacer el reply...

Etiquetas: arrraydearray, c#, jagged, nusoap
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.