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...