No hace falta crear el simplexml, SoapClient lo hace solo, $respuesta
ya es un simplexmlelement. Hacé un var_dump de $respuesta y vas a ver
lo que responde.
Saludos,
Jonathan
2009/7/8 Pablo Braulio <
brulics@gmai...>:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Gracias por la ayuda, aunque de momento no lo he conseguido. :-(
>
> Este es el código que he probado.
>
> <?php
> $xml= '<?xml version="1.0" encoding="ISO-8859-1"?> RESTO DE XML...';
>
> $param1= new SoapParam($xml, 'xml');
> $com= new
> SoapClient('
https://www.aespd.es:443/agenciapd/axis/SolicitudService?wsdl',
> array('trace' => 1, 'encoding' => 'UTF-8'));
> $respuesta= $com->probarXml($param1);
>
> $xmlrespuesta= simplexml_load_string($respuesta);
> var_dump($xmlrespuesta);
>
> ?>
>
> La función "probarXml" es una función que tienen en el server para hacer
> las pruebas, (según la documentación).
>
> Lo que ocurre en este caso, no usan usuario y contraseña sino un
> certificado. Esto dice la documentación:
>
> La invocación al servicio se realiza construyendo un cliente que acceda
> servicio, en cualquier tecnología, a partir de la descripción del mismo
> mediante el WSDL. El cliente deberá conectarse por https, puerto 443,
> para lo que necesitará el certificado del servidor “www.aespd.es ” que
> se remite con la documentación.
>
> Tengo el certificado, pero no se como añadirlo en el código.
>
> Lo que no me funciona (todavía) es la recogida de la respuesta con
> simplexml, pues hasta ahora he usado simplexml para leer un xml
> (simplexml_load_file). Lo que he puesto arroja el siguiente error.
>
>
> Warning: simplexml_load_string() [function.simplexml-load-string]:
> Entity: line 1: parser error : Start tag expected, '<' not found in
> /home/pablo/descargas/registroAepd/index.php on line 237
> Call Stack
> # Time Memory Function Location
> 1 0.0003 61856 {main}( ) ../index.php:0
> 2 1.0994 103004 simplexml_load_string ( ) ../index.php:237
>
> ( ! ) Warning: simplexml_load_string() [function.simplexml-load-string]:
> PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8RW52aW8gSWQ9IkFHUEQi
> in /home/pablo/descargas/registroAepd/index.php on line 237
> Call Stack
> # Time Memory Function Location
> 1 0.0003 61856 {main}( ) ../index.php:0
> 2 1.0994 103004 simplexml_load_string ( ) ../index.php:237
>
> ( ! ) Warning: simplexml_load_string() [function.simplexml-load-string]:
> ^ in /home/pablo/descargas/registroAepd/index.php on line 237
> Call Stack
> # Time Memory Function Location
> 1 0.0003 61856 {main}( ) ../index.php:0
> 2 1.0994 103004 simplexml_load_string ( ) ../index.php:237
>
> boolean false
>
> Gracias por la ayuda.
>
> Jaime Vera Sobino escribió:
>> yo lo he hecho de la misma forma en la que Jonathan describe
>>
>>
>> $xml = "<raiz><tag1>$dus</tag1><tag2>$guia</tag2></raiz>";
>> $param1 = new SoapParam($xml, "xml");
>> $param2 = new SoapParam($usuario, "usuario");
>> $param3 = new SoapParam($password, "password");
>>
>> $client = new SoapClient("http://server/servicio.jws?WSDL",
>> array('trace' => 1, 'encoding' => 'UTF-8'));
>> $response = $client->metodo_servicio($param1, $param2, $param3);
>>
>>
>> luego procesas el $response con simplexml y listo.
>> ahora me encontrado con algunos matices con este codigo, para servicios
>> hechos en java funcionan impecable
>> pero para servicios hechos en .net el objeto SoapParam envia NULL, esto
>> lo solucione simplemente reemplazando
>> los objetos por arreglos asi:
>>
>> $xml = "<raiz><tag1>$dus</tag1><tag2>$guia</tag2></raiz>";
>>
>> $args = array("xml"=>$xml, "usuario"=>$usuario, "password"=>$password);
>> $client = new SoapClient("http://server/servicio.jws?WSDL",
>> array('trace' => 1, 'encoding' => 'UTF-8'));
>> $response = $client->metodo_servicio($args);
>>
>>
>> espero te sirva.
>
>
> - --
> Saludos cordiales.
> Pablo.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Mozilla -
http://enigmail.mozdev.org
>
> iEYEARECAAYFAkpU0ZkACgkQK7lGsMchFsx2eQCfSHKQBFl7lp3m8AdfSTfvhE/S
> fPcAoLOyN8aOcvlTWY65o6Lo63Ye16I2
> =Slr1
> -----END PGP SIGNATURE-----
>
> --
> PHP Spanish Localization Talk Mailing List (
http://www.php.net/)
> To unsubscribe, visit:
http://www.php.net/unsub.php
>
>
--
PHP Spanish Localization Talk Mailing List (
http://www.php.net/)
To unsubscribe, visit:
http://www.php.net/unsub.php
opensubscriber is not affiliated with the authors of this message nor responsible for its content.