Ver Mensaje Individual
  #17 (permalink)  
Antiguo 27/07/2010, 09:40
helacer
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Respuesta: Ayuda traducir consumo webservices desde .net a php

_ssx mire .. ya logre configurar el certificado digital que ellos me entregaron en mi apache.

Tengo soap php instalado y no me funciona el codigo que tengo con NUSOAP, que es este.

Código PHP:
<?php
error_reporting
(E_ALL);
// Llamo los parametros requeridos para la conexion a PSE.
//include_once("lispasPSE.php");
// Realizo el llamado a la libreria.
include_once("lib/nusoap.php");
// Cargo el archivo con los errores o mensajes a mostrar al usuario.
//include_once("ErrLista.php");
// Creo la función que cargara el listado de bancos.
function CarLisBank()
{
    
$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
    
$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
    
$proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
    
$proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';

    
$wsdl="https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx?wsdl"//url del webservice que invocaremos
    //$wsdl="https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx"; //url del webservice que invocaremos
    //$wsdl="http://apolo.mipuntodepago.com/corepsem/webservice/MPPServicesv3.asmx?wsdl";
    
$client=new soapclient($wsdl,true); //instanciando un nuevo objeto cliente para consumir el webservice
    
$certRequest["sslcertfile"] = "empresa.cert";
    
$certRequest["sslkeyfile"] = "empresa.key";
    
$certRequest["passphrase"] = "desarrollo";
    
//$certRequest["certpassword"] = "quasar2010";
    
$client->setCredentials('','','certificate',$certRequest);
    
    
$param=array('EntityCode'=>'23465453'); //pasando parametros de entrada que seran pasados hacia el metodo

    
$LisBancos $client->call('getBankList'$param); //llamando al metodo y recuperando el array de productos en una variable

    //¿ocurrio error al llamar al web service? 
    
if ($client->fault) { // si
          
echo '<br /> No se pudo completar la operación'
          die(); 
    }else{ 
// no
        
$error $client->getError(); 
        if (
$error) { // Hubo algun error 
            
echo 'Error:' $error '<br /><br />'
        } 
    }     
    if(
is_array($LisBancos))
    { 
//si hay valores en el array
        
for($i=0;$i<count($LisBancos);$i++)
        {
            echo 
$LisBancos[$i]['financialInstitutionCode'].'<br>';
        }
    }else{
        echo 
'No hay bancos';
    }
    
//print_r($LisBancos);

}
// Realizo el llamado a la función.
CarLisBank();
?>

Sabe como haría algo parecido en Zend para mirar si ahora si me funciona?


Gracias