Como consumir un web services de .Net desde PHP

By | 2012/10/03

En días pasados cree un webservice que me validara usuario y contraseña contra el active directory. Mi intención era poder validar desde php las credenciales del visitante contra un Active Directory de Windows.

Para esto me tope con el problema de como consumir el web services de .Net y lo que me ubiera parecido lo obvio no fue asi. Inicialmente traté lo siguiente:

$ws = new SoapClient(‘http://10.1.2.11/service1.asmx?WSDL’ );
$valido = $ws->validar($usuario, $pass)->validarResult;

Parecía que todo estaba bien pero mágicamente todo lo que le pasaba era válido. Seguidamente me tope con que los cambios que le hacia al Web Services no se veian reflejados en PHP por lo que la modifiqué asi:

$ws = new SoapClient(‘http://10.1.2.11/service1.asmx?WSDL’, array(‘cache_wsdl’ => WSDL_CACHE_NONE) );
$valido = $ws->validar($usuario, $pass)->validarResult;

Esto resolvio el tema del cache pero seguía sin poder validar correctamente las credenciales, al final todo quedo así:

$ws = new SoapClient(‘http://10.1.2.11/service1.asmx?WSDL’, array(‘cache_wsdl’ => WSDL_CACHE_NONE) );
$valido = $ws->validar(array(“usuario” => $usuario, “pass” => $pass))->validarResult;

Usando el array le paso el nombre de la variable del Web service y su respectivo valor.

Leave a Reply

Your email address will not be published. Required fields are marked *

This blog is kept spam free by WP-SpamFree.