Foros del Web » Programando para Internet » PHP »

nusoap con codeigniter llamada cliente

Estas en el tema de nusoap con codeigniter llamada cliente en el foro de PHP en Foros del Web. hola tengo un problema tratado de llamar a un webservice pero me retorna un false @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original public function getInformePermanencia ( ...
  #1 (permalink)  
Antiguo 30/09/2014, 17:00
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
nusoap con codeigniter llamada cliente

hola tengo un problema tratado de llamar a un webservice pero me retorna un false

Código PHP:
Ver original
  1. public function getInformePermanencia(){
  2.  
  3.         $wsdl="http://10.11.65.32:5050/wsconsultaati/consultapromoati.asmx?WSDL";
  4.         $rem = new nusoap_client($wsdl,'wsdl'); // si no le paso el 'wsdl'
  5.         $arr = array("pTelefono"=>"955945457");
  6.         $l_stResult = $rem->call('ObtenerPromociones',$arr);
  7.         return $l_stResult;
  8.     }


la funcion me trae " false"

pero si no le paso al constructor nusoap_client el parametro 'wsdl'
me trae

Código PHP:
Ver original
  1.   'faultcode' => 'soap:Client',
  2.   'faultstring' => 'Server did not recognize the value of HTTP Header SOAPAction: .',
  3.   'detail' => '',
  4. )
  #2 (permalink)  
Antiguo 30/09/2014, 17:14
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: nusoap con codeigniter llamada cliente

lo que estas haciendo esta incompleto. falta muchas cosas antes de conectarte al ws:

Código PHP:
Ver original
  1. <?
  2. $WSDL = "url de WebService?wsdl";
  3. $url  = "url de WebService";
  4. //user TOKEN
  5. $usuario_token = '<user>';
  6. $password_token = '<pass>';
  7. $parametros = $arr = array("pTelefono"=>"955945457");
  8. $servicio = 'ObtenerPromociones';
  9. $result = func_soap($usuario_token, $password_token, $parametros, $servicio, $WSDL, $url);
  10.  
  11. function func_soap($usuario_token, $password_token, $parametros, $servicio, $WSDL, $url) {
  12.  
  13.  
  14.     $ns = 'url del name space';
  15.  
  16.     $token = new stdClass;
  17.     $token->Username = new SoapVar($usuario_token, XSD_STRING, null, $ns, 'UsernameToken', $ns);
  18.     $token->Password = new SoapVar($password_token, XSD_STRING, null, $ns, 'UsernameToken', $ns);
  19.  
  20.     $wsec = new stdClass;
  21.     $wsec->UsernameToken = new SoapVar($token, SOAP_ENC_OBJECT, null, $ns, 'UsernameToken', $ns);
  22.  
  23.     $headers = new SOAPHeader($ns, 'Security', $wsec, true);
  24.  
  25.     $client = new soapclient($WSDL);
  26.     $client->__setSOAPHeaders($headers);
  27.     $client->__setLocation($url);
  28.  
  29.     $result = $client->__soapCall($servicio, array($servicio => $parametros));
  30.  
  31.     return $result;
  32. }
  33. ?>

como ves son varios datos que tenes que tener antes de conectarte al ws. lee bien la documentacion del ws al que te queres conectar.
El error te indica que no le estas enviando ninguna cabecera, fijate como la defino en la funcion de ejemplo
  #3 (permalink)  
Antiguo 01/10/2014, 08:53
 
Fecha de Ingreso: julio-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: nusoap con codeigniter llamada cliente

hola compañero estoy usando la libreria nusoap para consumir el cliente
esto el lo que recibo

Código XML:
Ver original
  1. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:con="http://www.movistar.com.pe/consultapromosati">
  2.    <soapenv:Header/>
  3.    <soapenv:Body>
  4.       <con:ObtenerPromociones>
  5.          <!--Optional:-->
  6.          <con:pTelefono>955945457</con:pTelefono>
  7.       </con:ObtenerPromociones>
  8.    </soapenv:Body>
  9. </soapenv:Envelope>


esta es mi respuesta pero no se como recibirlo

Código XML:
Ver original
  1. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  2.    <soap:Body>
  3.       <ObtenerPromocionesResponse xmlns="http://www.movistar.com.pe/consultapromosati">
  4.          <ObtenerPromocionesResult>
  5.             <CodigoRespuesta>0000</CodigoRespuesta>
  6.             <NroCampannas>1</NroCampannas>
  7.             <Telefono>955945457</Telefono>
  8.             <Campannas>
  9.                <Campanna>
  10.                   <Id>000471</Id>
  11.                   <PromocionId>NUR</PromocionId>
  12.                   <Descripcion>HABLA hasta S/0.20 el MINUTO a otros Movistar de Peru! Ademas recibe SMS e INTERNET hasta por 8 dias</Descripcion>
  13.                </Campanna>
  14.             </Campannas>
  15.          </ObtenerPromocionesResult>
  16.       </ObtenerPromocionesResponse>
  17.    </soap:Body>
  18. </soap:Envelope>

Última edición por newmoon798; 01/10/2014 a las 10:50

Etiquetas: cliente, codeigniter, llamada, nusoap
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 13:08.