Como todos me dirijo a vosotros para ver si alguien puede echarme una mano,
Antes de recurrir he mirado y documentado... pero no encuentro solución.
Así que pongo el código en groso modo:
Código PHP:
<?php
require_once('lib/nusoap.php');
// La dirección donde se aloja el Webservice
$url = 'http://servidor.con/wsdl'
//Creamos el Cliente NuSoap
$cliente = new nusoap_client($url, TRUE);
//nombre de funcion
$funcion = 'enviarDatos';
//Cargamos el XML a Validar
$documentoXML = file_get_contents("enviar.xml");
//Lo Pasamos a Base64
$documentoXML = base64_encode($documentoXML);
//Parametros a enviar al Webservice de validación + xml
$parametros = array('Agente' => $Agente,
'Clave' => $Clave
'Codigo' => $codigo,
"fichero_xml" => (utf8_encode($documentoXML)));
//Llamamos a la función para Validar
$resultado = $cliente->call($funcion , $parametros);
// Buscamos errores
$err = $cliente->getError();
if ($err) {
// Mostramos errores si los hay
echo $err;
}
//Por si quiero imprimir el arreglo en pantalla
print_r ($resultado);
echo ($cliente->request);
/**
echo ($cliente->response);
echo ($cliente->getDebug());
**/
?>
Código HTML:
wsdl error: phpType is struct, but value is not an array: see debug output for
Código PHP:
//Parametros a enviar al Webservice de validación + xml
$parametros = array('Agente' => $Agente,
'Clave' => $Clave
'Codigo' => $codigo,
"fichero_xml" => arry (utf8_encode($documentoXML)));
en el request se puede ver:
Código HTML:
... <fichero_xml></fichero_xml> ...
con la primera versión me he dado cuenta que al cambiar fichero_xml por ficheroxml si que funciona y no da error, es decir acepta:
Código PHP:
//Parametros a enviar al Webservice de validación + xml
$parametros = array('Agente' => $Agente,
'Clave' => $Clave
'Codigo' => $codigo,
"ficheroxml" => (utf8_encode($documentoXML)));
El wsdl solicita:
Código HTML:
POST /services/WS_OpenRoom.asmx HTTP/1.1 Host: servidor.con Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://servidor.con/services/enviarDatos" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Datos xmlns="http://servidor.con/services/"> <Agente>string</Agente> <Clave>string</Clave> <Codigo>string</Codigo> <fichero_xml>xml</fichero_xml> </Datos > </soap:Body> </soap:Envelope>