yo nunca he trabajado con certificados, pero lei en alguna parte que es
posible usar USER Y PASSWORD dentro de los argumentos para generar el
cliente, no se si es la solucion pero podrias probar si te sirve:
$com= new SoapClient('
https://www.aespd.es:443/agenciapd/axis/SolicitudService?wsdl<https://www.aespd.es/agenciapd/axis/SolicitudService?wsdl>',
array('trace' => 1, 'encoding' => 'UTF-8', 'user'=>$usuario,
'password'=>$password));
bueno, si te resulta envia la solucion para que aprendamos un poco mas :D
saludos :D
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-----
>
--
Jaime Vera Sobino
Ing. de Software, Genesys.
+56-41-2910730 anexo 217
jaime.vera@gene...
-- "Hay 10 Tipos de Personas: Las que saben binario y las que no." --
opensubscriber is not affiliated with the authors of this message nor responsible for its content.