Foros del Web » Programando para Internet » PHP »

Ayuda traducir consumo webservices desde .net a php

Estas en el tema de Ayuda traducir consumo webservices desde .net a php en el foro de PHP en Foros del Web. COmo estan. Tengo el codigo que consume un webservice desde .net péro necesito consumirlo desde php. El codigo del webservice es este Código: [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://vesta.com.br/el PSE/MainServices/getBankList", ...

  #1 (permalink)  
Antiguo 09/07/2010, 11:47
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Ayuda traducir consumo webservices desde .net a php

COmo estan.

Tengo el codigo que consume un webservice desde .net péro necesito consumirlo desde php.

El codigo del webservice es este

Código:
	[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://vesta.com.br/el PSE/MainServices/getBankList", RequestNamespace="http://www.uc-council.org/smp/schemas/eanucc", ResponseNamespace="http://www.uc-council.org/smp/schemas/eanucc", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		[return: System.Xml.Serialization.XmlElementAttribute("getBankListResponseInformation")]
		public getBankListResponseInformationType[] getBankList(getbankListInformationType getBankListInformation) 
		{
			object[] results = this.Invoke("getBankList", new object[] {
																		   getBankListInformation});
			return ((getBankListResponseInformationType[])(results[0]));
		}
...
Lo que tengo hasta el momento es esto "aclaro que soy novato en esto"
Código PHP:
<?php
error_reporting
(7);
// Realizo el llamado a la libreria.
include_once("lib/nusoap.php");
// Creo la función que cargara el listado de bancos.
function CarLisBank()
{
$wsdl="https://XXXXXXXXXXXXXXXXXXX.asmx";
//url del webservice que invocaremos
$client=new soapclient($wsdl,TRUE); //instanciando un nuevo objeto cliente para consumir el webservice  

//$param=array('estado'=>'1'); //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 'No se pudo completar la operación'
      die(); 
}else{ 
// no
    
$error $client->getError(); 
    if (
$error) { // Hubo algun error 
        
echo 'Error:' $error
    } 

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';
}

}
// Realizo el llamado a la función.
CarLisBank();
?>
  #2 (permalink)  
Antiguo 10/07/2010, 19:17
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: Ayuda traducir consumo webservices desde .net a php

Pone:

Código:
wsdl2php
en google, bajatelo, el archivo wsdl lo encontras llamando al web service y agregando ?wsdl al final y que te la mapee a php.

basicamente a través del auto discover mapeas las definciones a una clase, lista para completar en php.
  #3 (permalink)  
Antiguo 11/07/2010, 21:10
 
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

Gracias por la respuesta ero no e sabido usarla bien. Me puede dar una breve explicacion de como se hace?


gracias
  #4 (permalink)  
Antiguo 12/07/2010, 09:49
 
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

Bueno ya entendi como se usa wds2php. Ya hice el llamado al wsdl y me genero un archivo con este codigo:

Código PHP:
<?php
class getBankList {
  public 
$request// getBankListType
}

class 
getBankListType {
  public 
$EntityCode// string
}

class 
getBankListResponse {
  public 
$getBankListResult// ArrayOfGetBankListResponseType
}

class 
getBankListResponseType {
  public 
$paymentSystem// nonNegativeInteger
  
public $financialInstitutionCode// nonNegativeInteger
  
public $financialInstitutionName// string
}

class 
createTransactionPayment {
  public 
$request// createTransactionType
}

class 
createTransactionType {
  public 
$EntityCode// string
  
public $TicketId// string
  
public $SrvCode// string
  
public $PaymentDesc// string
  
public $TransValue// decimal
  
public $TransVatValue// decimal
  
public $UserType// string
  
public $Reference1// string
  
public $Reference2// string
  
public $Reference3// string
  
public $PaymentSystem// string
  
public $URLResponse// string
  
public $FICode// string
}

class 
createTransactionPaymentResponse {
  public 
$createTransactionPaymentResult// createTransactionResponseType
}

class 
createTransactionResponseType {
  public 
$ReturnCode// string
  
public $Url// string
}

class 
getTransactionInformation {
  public 
$request// getTransactionInformationType
}

class 
getTransactionInformationType {
  public 
$EntityCode// string
  
public $TicketId// string
}

class 
getTransactionInformationResponse {
  public 
$getTransactionInformationResult// getTransactionInformationResponseType
}

class 
getTransactionInformationResponseType {
  public 
$TrazabilityCode// string
  
public $TranState// string
  
public $SrvCode// string
  
public $PaymentDesc// string
  
public $TransValue// decimal
  
public $TransVatValue// decimal
  
public $Reference1// string
  
public $Reference2// string
  
public $Reference3// string
  
public $BankProcessDate// date
  
public $BankName// string
  
public $ReturnCode// string
}


/**
 * MPPServices class
 * 
 *  
 * 
 * @author    {author}
 * @copyright {copyright}
 * @package   {package}
 */
class MPPServices extends SoapClient {

  private static 
$classmap = array(
                                    
'getBankList' => 'getBankList',
                                    
'getBankListType' => 'getBankListType',
                                    
'getBankListResponse' => 'getBankListResponse',
                                    
'getBankListResponseType' => 'getBankListResponseType',
                                    
'createTransactionPayment' => 'createTransactionPayment',
                                    
'createTransactionType' => 'createTransactionType',
                                    
'createTransactionPaymentResponse' => 'createTransactionPaymentResponse',
                                    
'createTransactionResponseType' => 'createTransactionResponseType',
                                    
'getTransactionInformation' => 'getTransactionInformation',
                                    
'getTransactionInformationType' => 'getTransactionInformationType',
                                    
'getTransactionInformationResponse' => 'getTransactionInformationResponse',
                                    
'getTransactionInformationResponseType' => 'getTransactionInformationResponseType',
                                   );

  public function 
MPPServices($wsdl "http://apolo.mipuntodepago.com/corepsem/webservice/MPPServices.asmx?WSDL"$options = array()) {
    foreach(
self::$classmap as $key => $value) {
      if(!isset(
$options['classmap'][$key])) {
        
$options['classmap'][$key] = $value;
      }
    }
    
parent::__construct($wsdl$options);
  }

  
/**
   *  
   *
   * @param getBankList $parameters
   * @return getBankListResponse
   */
  
public function getBankList(getBankList $parameters) {
    return 
$this->__soapCall('getBankList', array($parameters),       array(
            
'uri' => 'http://www.avisortech.com/MPPWebServices',
            
'soapaction' => ''
           
)
      );
  }

  
/**
   *  
   *
   * @param createTransactionPayment $parameters
   * @return createTransactionPaymentResponse
   */
  
public function createTransactionPayment(createTransactionPayment $parameters) {
    return 
$this->__soapCall('createTransactionPayment', array($parameters),       array(
            
'uri' => 'http://www.avisortech.com/MPPWebServices',
            
'soapaction' => ''
           
)
      );
  }

  
/**
   *  
   *
   * @param getTransactionInformation $parameters
   * @return getTransactionInformationResponse
   */
  
public function getTransactionInformation(getTransactionInformation $parameters) {
    return 
$this->__soapCall('getTransactionInformation', array($parameters),       array(
            
'uri' => 'http://www.avisortech.com/MPPWebServices',
            
'soapaction' => ''
           
)
      );
  }

}

?>
Pero ahora mi pregunta es como hago el llamado a este archivo apra que me ghenere el listado de bancos. tengo esto pero no me funciona no me saca nada ni error ni nada

ProWdsl.php
Código PHP:
<?php
require_once 'MPPServices.php';
$hello = new getBankList();
$hello->getBankList('0001');
?>
  #5 (permalink)  
Antiguo 12/07/2010, 10:04
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Uso de certificados consumir webservices desde nusoap

Como estan?

Tengo que consumir un webservice. Para acceder a este webservice la empresa me da tres certificados. el root, uno de desarrollo, y otro que me dan que autoriza a mi ip publica para que permita acceder a este y el keystore que genere con Keytool que almacena los certificados. Ellos me dieron un ejemplo de consumo hecho en java funciona sin problemas. Pero tengo que hacerlo desde php. Encontre que asi se usan los certificados pero no logro conectarme me sale el error

Error:HTTP Error: cURL ERROR: 58: unable to use client certificate (no key found or wrong pass phrase?)

Código PHP:
$client=new soapclient($wsdl,false);
$certRequest['cainfofile']='carkey/achroot.cer';
$certRequest["sslcertfile"] = "carkey/certgenerado.cer";
$certRequest["sslkeyfile"] = "carkey/keyprubas.ks";
$certRequest["passphrase"] = "aliaspruebas";
$certRequest["certpassword"] = "clavepruebas";
$client->setCredentials('','','certificate',$certRequest); 
¿No es asi como se realiza la conexión con certificados?¿Qué estoy haciendo mal?
  #6 (permalink)  
Antiguo 12/07/2010, 15:41
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 5 meses
Puntos: 165
Respuesta: Uso de certificados consumir webservices desde nusoap

ya que estás, puedes explicar un poco que es nusoap y todo el tema de certificados?

es la primera vez que lo veo y no tengo ni idea, se agradece toda la información, links, etc.

Un saludo!
  #7 (permalink)  
Antiguo 16/07/2010, 10:06
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Asesoria en uso de esta clase.

Buenos dias.

Tengo que consumir unos webservices pero me exigen que debo implementar ws security. Buscando en internet encontre la asiguiente clase que según entendi sirve para eso.

Se poco de este tema. Me podria ayudar a entenderla o por lo menos darme un ejemplo o guía de como implementarla en el consumo de mis webservices. La saque de http://stackoverflow.com/questions/2...ty-1-1-in-php5


Código PHP:
class WSSoapClient extends SoapClient {

    private 
$username;
    private 
$password;
    
/*Generates de WSSecurity header*/
    
private function wssecurity_header() {

        
/* The timestamp. The computer must be on time or the server you are
         * connecting may reject the password digest for security.
         */
        
$timestamp gmdate('Y-m-d\TH:i:s\Z');
        
/* A random word. The use of rand() may repeat the word if the server is
         * very loaded.
         */
        
$nonce mt_rand();
        
/* This is the right way to create the password digest. Using the
         * password directly may work also, but it's not secure to transmit it
         * without encryption. And anyway, at least with axis+wss4j, the nonce
         * and timestamp are mandatory anyway.
         */
        
$passdigest base64_encode(
                
pack('H*',
                        
sha1(
                                
pack('H*'$nonce) . pack('a*',$timestamp).
                                
pack('a*',$this->password))));

        
$auth '
<wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.'
.
'org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
    <wsse:Username>'
.$this->username.'</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-'
.
'wss-username-token-profile-1.0#PasswordDigest">'.$passdigest.'</wsse:Password>
    <wsse:Nonce>'
.base64_encode(pack('H*'$nonce)).'</wsse:Nonce>
    <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-'
.
'200401-wss-wssecurity-utility-1.0.xsd">'.$timestamp.'</wsu:Created>
   </wsse:UsernameToken>
</wsse:Security>
'
;

        
/* XSD_ANYXML (or 147) is the code to add xml directly into a SoapVar.
         * Using other codes such as SOAP_ENC, it's really difficult to set the
         * correct namespace for the variables, so the axis server rejects the
         * xml.
         */
        
$authvalues = new SoapVar($auth,XSD_ANYXML);
        
$header = new SoapHeader("http://docs.oasis-open.org/wss/2004/01/oasis-".
            
"200401-wss-wssecurity-secext-1.0.xsd""Security"$authvalues,
                
true);

        return 
$header;
    }

    
/* It's necessary to call it if you want to set a different user and
     * password
     */
    
public function __setUsernameToken($username$password) {
        
$this->username $username;
        
$this->password $password;
    }


    
/* Overwrites the original method adding the security header. As you can
     * see, if you want to add more headers, the method needs to be modifyed
     */
    
public function __soapCall($function_name$arguments$options=null,
            
$input_headers=null$output_headers=null) {

        
$result parent::__soapCall($function_name$arguments$options,
                
$this->wssecurity_header());

        return 
$result;
    }

  #8 (permalink)  
Antiguo 16/07/2010, 11:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Asesoria en uso de esta clase.

lo mejor es que uses una librería SOAP completa... ;)

http://php.net/soap

o también NuSOAP
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 16/07/2010, 11:43
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Respuesta: Asesoria en uso de esta clase.

Si señor yo uso nusoap apra consumirlos pero como hgo paraque el consumo quede con ese estandar wssecurity implementado porque me lo exigen........ es que en esa parte es que estoy perdido. Me puede explicar un poco el tema .gracias
  #10 (permalink)  
Antiguo 16/07/2010, 11:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Asesoria en uso de esta clase.

Cita:
Iniciado por helacer Ver Mensaje
Si señor yo uso nusoap apra consumirlos pero como hgo paraque el consumo quede con ese estandar wssecurity implementado porque me lo exigen........ es que en esa parte es que estoy perdido. Me puede explicar un poco el tema .gracias
realmente no se mucho del tema, pero casi podría asegurar que NuSOAP debería implementar dicha funcionalidad... ¿no has revisado su documentación??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 21/07/2010, 09:07
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Ayuda utilizar clases consumo WS

Como están?


Con la libreria wsdl2php, genere el siguiente archivo php que me crea las clases para consumir un webservice.

La dirección del ws es esta.
https://desarrollo.pse.com.co/PSEWeb...ices.asmx?wsdl

El codigo del archivo es este "No coloque todo el codigo porque es my largo y el foro me lo impide, colocque lo que creo es necesrio para lo que necesito"

clase.php
Código PHP:
<?php
class getBankList {
  public 
$getBankListInformation// getbankListInformationType
}

 public function 
MainServicesImpl($wsdl "https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx?wsdl"$options = array()) {
    foreach(
self::$classmap as $key => $value) {
      if(!isset(
$options['classmap'][$key])) {
        
$options['classmap'][$key] = $value;
      }
    }
    
parent::__construct($wsdl$options);
  }

  
/**
   *  
   *
   * @param getBankList $parameters
   * @return getBankListResponse
   */
  
public function getBankList(getBankList $parameters) {
    return 
$this->__soapCall('getBankList', array($parameters),       array(
            
'uri' => 'http://vesta.com.br/pse/MainServices',
            
'soapaction' => ''
           
)
      );
  }
}
?>
Basandome en el ejemplo que dan cree este archivo para mostrar los datos pero creo que lo tengo maly obviamente no me muestra nada. Meayudan a arreglar el codigo gracias

Código PHP:
<?php
error_reporting
(E_ALL);
require_once 
'clase.php';
$hello = new MainServicesImpl();
$Bancos = new getBankList();
if (
$Listado $hello->getBankList($Bancos,'0001'))
{
    echo 
"Si entro a crgar el siguiente listado de bancos: ";
    
print_r($Listado);
}
?>
EDITO
BBuscando en itnernet encontre esta pagina que genera en linea, el codigo de la clase. Genera un codigo como mas facil de entrender si quiere n colocan hay la dirección del wsdl que les di. y me ayudan a mirar como utilziarla.... .Gracias

http://labs.wso2.org/wsf/php/wsdl2phptool.php

Última edición por helacer; 21/07/2010 a las 09:35
  #12 (permalink)  
Antiguo 26/07/2010, 11:38
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Ayuda consumo webservice.

Como estan?

Estoy tratando de consumir un webservice que esta en un servidor seguro https.

Creo tener el consumo de este pero corro el php desde el navegador y no me hace nada me queda la pag en blanco. Quisiera saber como puedo ir verificando que pasa donde esta el error. porque no hayo por dodne irme apartentemenete para mi esta bien pero no hace nada nada.



Código PHP:
<?php
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";
    
$client=new soapclient($wsdl,true); //instanciando un nuevo objeto cliente para consumir el webservice
        
    
$param=array('EntityCode'=>'003'); //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();
?>
  #13 (permalink)  
Antiguo 26/07/2010, 15:11
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años, 7 meses
Puntos: 60
Respuesta: Ayuda traducir consumo webservices desde .net a php

Pues de que el webservice conecta, si que lo hace hice pruebas con Zend_Soap

Código PHP:
<?php
require_once 'Zend/Soap/Client.php';
$client = new Zend_Soap_Client("https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx?wsdl");
$param=array('getBankList'=>'003');
$b $client->getFunctions();
    
var_dump($client);
    
var_dump($b);
try{
    
$c $client->getBankList($param);
}catch(
Zend_Soap_Client_Exception $e){
    
var_dump($e);
}

?>
El Var_dump me regresa la lista de metodos disponibles del webservice.



¿Estas seguro de los parámetros que se le envían al metodo getBankList?
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #14 (permalink)  
Antiguo 26/07/2010, 15:18
 
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

Huy por fin alguien me pone cuidado... gracias... Sip sip ese 003 que coloque es un ejemplo pero aca estoy colocando el nit de la empresa para lacual estoy haciendo el desarrollo y segun el personal de PSE es correcto.

Una pregunta si estoy haciendo correctamente el llamado al método getbanklist ? es que soy principiante en esto... mirando el xml me pareciera que este tiene como un hijo llamado getBankListInformation ¿Estoy en lo cierto? Si es asi como haria el llamado a ese submetodo o como se llame o que más puede estar pasando.


Gracias de antemano _ssx, espero me pueda seguir colaborando si me saca de esta se lo agradecere toda la vida jaja...
  #15 (permalink)  
Antiguo 26/07/2010, 15:47
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años, 7 meses
Puntos: 60
Respuesta: Ayuda traducir consumo webservices desde .net a php

Una pregunta ¿el webservice para darte info requieres mandarle algun usuario y pass que ellos te proporcionan?

Por que como te decía arriba, si conecta con el wsdl pero probablemente para algunos metodos requieras un user y pass
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #16 (permalink)  
Antiguo 26/07/2010, 15:53
 
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

ellos me entregaron unos certificados .cer y un keystore que se genero con la herramienta keytool de java. Los certificados son acroot.cer, PSEDESA.cer y reqbpinforma.cer "este fue el que generaron con los datos de la empresa que trabajo y segun entiendo es el que habilita mi ip publica a conectar con el ws."

Usted sabe como hago para identificarme con esos certificados en el WS no importa si es con nusoap con zend o como sea pero que me funcione jaja

gracias

Última edición por helacer; 26/07/2010 a las 15:58
  #17 (permalink)  
Antiguo 27/07/2010, 09:40
 
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
  #18 (permalink)  
Antiguo 27/07/2010, 10:26
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
uso de certificado digital con Zend

Buenas

Estoy utilizando zend para consumirunos webservices.

Tengo un certificado digital, keystore y el passphrase. COmo hago para configurarlos en la conexión Zend_Soap_Client para que me valide la conexión y me permita realziar el consumo del webservice.

Gracias
  #19 (permalink)  
Antiguo 27/07/2010, 10:57
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años, 7 meses
Puntos: 60
Respuesta: uso de certificado digital con Zend

Pasa los parametros con setOptions

Código PHP:
$wsdlOptions = array(
                             
'login'          => 'http_login',
                             
'password'       => 'http_password',
                             
'proxy_host'     => 'proxy.somehost.com',
                             
'proxy_port'     => 8080,
                             
'proxy_login'    => 'proxy_login',
                             
'proxy_password' => 'proxy_password',
                             
'local_cert'     => dirname(__FILE__).'/_files/cert_file',
                             
'passphrase'     => 'some pass phrase');

$client->setOptions($wsdlOptions); 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #20 (permalink)  
Antiguo 27/07/2010, 11:07
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Respuesta: uso de certificado digital con Zend

Men gracias hace uno s minutos habia encotrnado esta función y la implemente basandome en el ejemplo que usted mismo medio en el otro mensaje pero no em sale nada me queda la pantalla en blanco.

Código PHP:
<?php
require_once 'Zend/Soap/Client.php';
$client = new Zend_Soap_Client("https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx?wsdl");
/*****************************************************************************************************/
$wsdlOptions = array(        'local_cert'     => 'certificado.pem',
                             
'passphrase'     => 'certificado2010');
$client->setOptions($wsdlOptions); 
/******************************************************************************************************/
$param=array('getBankList'=>'45435');
$b $client->getFunctions();
    
//var_dump($client);
    
var_dump($b);
try{
    
$c $client->getBankList($param);
}catch(
Zend_Soap_Client_Exception $e){
    
var_dump($e);
}
?>
El certificado originalmente estaba en formato cer, le cambie la extension a cert
, luego con uno comando de openssl uni el keystore y el certificado original en certificado.pem.

Probe con las 3 opciones "cer,cert y pem" y ninguna me muestra nada? Alguna idea, gracias
  #21 (permalink)  
Antiguo 27/07/2010, 14:11
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Respuesta: uso de certificado digital con Zend

_ssx que pena molestarlo tanto..

Me comunique con PSE "la empresa duañe de los WS"

Me dicen que a ellos les esta llegando el siguiente mensaje desde mi ip pero no tengo idea si esto me sirva para ayudar a encontrar la solución a mi problema "No le encuentro nada que me sirva".

Código:
<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns5720="http://tempuri.org"><SOAP-ENV:Body><getBankList xmlns="http://www.uc-council.org/smp/schemas/eanucc"/></SOAP-ENV:Body></SOAP-ENV:Envelope>
Lo entiende? muestra algún error o indicio que me pueda indicar que esta pasando?


Lss pedi un ejemplo de un mensaje generado correctamente y me envio esto

Código:
<soapenv:Envelope>

<soapenv:Header>

<wsse:Security soapenv:mustUnderstand="1">

 <wsse:BinarySecurityToken EncodingType="wsse:Base64Binary" ValueType="wsse:X509v3" wsu:Id="CertId-39957397">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</wsse:BinarySecurityToken>

<ds:Signature Id="Signature-22748098">

<ds:SignedInfo>

 <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

 <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>

<ds:Reference URI="#id-20884441">

<ds:Transforms>

 <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

 </ds:Transforms>

 <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

 <ds:DigestValue>7Ny+sj+sACaNoscDDrm3uKtA3l8=</ds:DigestValue>

 </ds:Reference>

 </ds:SignedInfo>

 <ds:SignatureValue> 1q/NeJj2T5wUpR2L0U+b/ywk1R7/v9cfXdwheHnZjPpyPFWBgA3P3V0b8Vz/Qjf0bK/0xvdiA689 AWZGz2uP3X+NESxHmoz4O3qqa4DdfLySt9+GLYaa/evgdB35pM8e5tMHBdva96Dkj173mjTS/dvC tb6bDzahtbw/Slup1b4= </ds:SignatureValue>

<ds:KeyInfo Id="KeyId-13006805">

<wsse:SecurityTokenReference wsu:Id="STRId-30176350">

 <wsse:Reference URI="#CertId-39957397" ValueType="wsse:X509v3"/>

 </wsse:SecurityTokenReference>

 </ds:KeyInfo>

 </ds:Signature>

<wsu:Timestamp wsu:Id="Timestamp-13919205">

 <wsu:Created>2010-07-27T20:59:37.000Z</wsu:Created>

 </wsu:Timestamp>

 </wsse:Security>

<messageHeader soapenv:mustUnderstand="0">

<to>

 <gln>7709999102513</gln>

 </to>

<from>

 <gln>7709999105705</gln>

 </from>

<representingParty>

 <gln>7709999105705</gln>

 </representingParty>

 </messageHeader>

 </soapenv:Header>

<soapenv:Body wsu:Id="id-25654608">

<getBankList>

<getBankListInformation>

 <entityCode>55435345</entityCode>

 </getBankListInformation>

 </getBankList>

 </soapenv:Body>

 </soapenv:Envelope>
Alguna idea de que esta pasando?
Gracias

Última edición por helacer; 27/07/2010 a las 15:37
  #22 (permalink)  
Antiguo 27/07/2010, 15:49
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
WS Security con zend

Buenas

Quisiera saber como se implementa WS security 1.1 con zend.. Tienen algún ejemplo del que me pueda orientar ?

Gracias
  #23 (permalink)  
Antiguo 28/07/2010, 09:30
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Pregunta sobre consumo WS.

Buenas

Estoy tratando de consumir un ws

Código HTML:
 <soap12:Body>
    <Process xmlns="http://www.............">
      <ProcessInformation>
        <Processcode>string</Processcode>
      </ProcessInformation>
    </Process>
  </soap12:Body> 
La idea es tratar de cargar la lista de procesos, e intentado cargar el metodo Proceso pero no me devuelve nada y si llamo a ProcessInformation me dice que este no existe.


Código PHP:
<?
$Procesos 
$client->call('Process'$param);
?>
Hay como hago depues para llamar a ProcessInformation que es "hijo de Process" o el problema esta en otro lado y com lo tengo esta bien..

Gracias
  #24 (permalink)  
Antiguo 30/07/2010, 13:49
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Ayuda consumo ws con zend

Buenas

Coloque en zend la función

Código:
$client->getFunctions();
y me sale esto

Código:
getProcessResponse getProcess(getProcess $parametros)
COmo hago para desde ZEND listar los procesos.

Gracias
  #25 (permalink)  
Antiguo 03/08/2010, 16:35
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 7 meses
Puntos: 50
Alguien que tambien sepa .net

Buenas

Estoy tratando de consumir un webservice... El consumo ya esta hecho en java pero tengo que hacerlo con php ... "no se java"... El codigo .net es este pero quisiera que me orientaran en como se haria esto en PHP.

Código:
ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		[return: System.Xml.Serialization.XmlElementAttribute("getBankListResponseInformation")]
		public getBankListResponseInformationType[] getBankList(getbankListInformationType getBankListInformation) 
		{
			object[] results = this.Invoke("getBankList", new object[] {
																		   getBankListInformation});
			return ((getBankListResponseInformationType[])(results[0]));
		}
...
Lo que e hecho en php es:


Código PHP:
$wsdl="https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx?wsdl";    
    
$param=array('EntityCode'=>'5435435'); //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); 
  #26 (permalink)  
Antiguo 03/08/2010, 18:19
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: Ayuda traducir consumo webservices desde .net a php

Solo para probar algo (0 experiencia en SOAP), del ultimo ejemplo que posteaste usando ZEND, proba hacer esto:
Código PHP:
Ver original
  1. ....
  2. try{
  3.     $c = $client->getBankList($param);
  4.     var_dump($c);
  5.     // o capaz
  6.     $d = $client->getBankList(45435);
  7.     var_dump($d);
  8. }catch(Zend_Soap_Client_Exception $e){
  9.     var_dump($e);
  10. }
  11. ....

Lo digo porque no haces nada despues con esa llamada, en una de esas te tira algo.

Otra cosa que encontre googleando un poco es:
http://wso2.com/products/web-services-framework/php/
Aca hay un ejemplo que usa certificados:
http://wso2.org/library/2814
Lo malo, es que es otras extension php, y requeriria que la instales un tu servidor. Por lo que vi, ya hay binarios compilados para windows listos para bajar con un readme de instrucciones.

Otra opcion mas PHP (va, en el codigo tiene llamadas a funciones de las librerias Mcrypt y OpenSSL):
http://code.google.com/p/wse-php/
Aca estan los archivo. Tambien vi algunos ejemplos que usan certificados:
http://code.google.com/p/wse-php/source/browse/

O sea, tienes pare entretenerte.
Saludos y mucha suerte!!

Última edición por fran86; 03/08/2010 a las 20:04
  #27 (permalink)  
Antiguo 04/08/2010, 16:06
 
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

Gracias por la respuesta, probe con su codigo y no funciona.

Tambien e intentado con ws02php y tampoco logro trer resutlados me sale error: No response received.

Nose si peuda yudarme a mirar aca tengo publicado el codigo en .net que si funciona para realziar este consumo... No se si conozca este lenguaje para que se guie y me peuda orientar en las correciones que debo hacer a mi codigo PHP.

Gracias
  #28 (permalink)  
Antiguo 04/08/2010, 16:38
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: Ayuda traducir consumo webservices desde .net a php

Pues no, lo mas cerca de .NET que anduve es java; pero incluso ahi jamas requeria consumir webservices.

Creo que deberias concentrarte en encontrar algun script/biblioteca que haya sido construida para tal fin en php y aprender a usarla, en vez de "traducir".

Con wse-php intentaste? Veo que hay un ejemplo que se conecta a los webservices de amazon y que utiliza certificados. Mas pruebas no puedo hacer, porque desconozco algun servicio gratuito que use ws security. Si lo conoces avisame!

Creo conveniente aclarar, que no soy experto en el tema, solo lo veo muy interesante como para investigarlo y aprender xD.

Saludos cordiales.
  #29 (permalink)  
Antiguo 04/08/2010, 16:55
 
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

Gracias por la respuesta...

No estoy intentando traducir ... solo guiarme haber si es que estoy haciendo algo mal en php.


Estoy utilizando la libreria wso2php que me genera este "mapa de clases del ws" ----- Depronto le puede servir a usted en un futuro

http://labs.wso2.org/wsf/php/wsdl2ph...te_type=client


pero aun asi no logro hacer el consumo...Gracias cualquier cosa que me pueda servir estare pendiente.
  #30 (permalink)  
Antiguo 04/08/2010, 17:32
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 4 meses
Puntos: 8
Respuesta: Ayuda traducir consumo webservices desde .net a php

Mira, empece a hacer proebas con wse-php, logro que me tire el listado de funciones correctamente, claro que cuando intento llamar getBankList(), devuelve error "SOAP header Security was not understood." porque no tengo como probar ws security. Eso deberias hacerlo vos con tus .pem.

Por cierto, en que parte de tu codigo .net le indicas a soap que use wss?

Código PHP:
Ver original
  1. require('wse-php/soap-wsse.php');
  2.  
  3. //comente todas las lineas que tendrias que investigar
  4. //define('PRIVATE_KEY', 'C:\TEMP\pk-amazon-private-key.pem');
  5. //define('CERT_FILE', 'C:\temp\cert-amazon-cert.pem');
  6.  
  7. class mySoap extends SoapClient {
  8.  
  9.     function __doRequest($request, $location, $saction, $version) {
  10.         $doc = new DOMDocument('1.0');
  11.         $doc->loadXML($request);
  12.  
  13.         $objWSSE = new WSSESoap($doc);
  14.        
  15.         $objWSSE->addTimestamp();
  16.  
  17.         // comente todas las lineas que tendrias que investigar
  18.  
  19.         /* create new XMLSec Key using RSA SHA-1 and type is private key */
  20.         //$objKey = new XMLSecurityKey(XMLSecurityKey::RSA_SHA1, array('type'=>'private'));
  21.  
  22.         /* load the private key from file - last arg is bool if key in file (TRUE) or is string (FALSE) */
  23.         //$objKey->loadKey(PRIVATE_KEY, TRUE);
  24.  
  25.         /* Sign the message - also signs appropraite WS-Security items */
  26.         //$objWSSE->signSoapDoc($objKey);
  27.  
  28.         /* Add certificate (BinarySecurityToken) to the message and attach pointer to Signature */
  29.         //$token = $objWSSE->addBinaryToken(file_get_contents(CERT_FILE));
  30.         //$objWSSE->attachTokentoSig($token);
  31.  
  32.         return parent::__doRequest($objWSSE->saveXML(), $location, $saction, $version);
  33.     }
  34. }
  35.  
  36. class instances {
  37.     public $instancesSet = NULL;
  38. }
  39.  
  40. $wsdl = 'https://desarrollo.pse.com.co/PSEWebServices/MainServices.asmx?wsdl';
  41.  
  42. try {
  43.     $sClient = new mySoap($wsdl, array('trace'=>1));
  44.     /* Force location path - MUST INCLUDE trailing slash
  45.     BUG in ext/soap that does not automatically add / if URL does not contain path cause POST header to be invalid */
  46.     //$sClient->location = 'https://ec2.amazonaws.com/';
  47.  
  48.     //$sClient->getBankList();
  49.  
  50.     //$objInstances = new instances();
  51.     //$test = $sClient->DescribeInstances($objInstances);
  52.  
  53.     var_dump($sClient->__getFunctions()); // esto te tira la lista de metodos ok
  54.  
  55.     var_dump($sClient->getBankList('001')); // esto me da SOAP header Security was not understood.;
  56.     // obvio porque los certificados no estan configurados,
  57.     // deberias intentar basandote en los ejemplos de la direccion que te pase.
  58.  
  59. } catch (SoapFault $e) {
  60.     var_dump($e);
  61. }

Etiquetas: traducir, .net, webservice
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:24.