New question

Question:

Date: 07-12-2019 05:03:31 (In Spanish)

hola, quiero consumir un web service soap. tengo problemas al traer los datos[Unresolved]

estoy haciendo el envió con el método soap de php y al retornar el valor me lo envía en formato string, lo que quiero es que me lo envie en json o en xml para poder convertirlo Tags: PHP - Question - Webserver - Webservices Votes: 0 - Answers: 8 - Views: 10 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 08-12-2019 08:32:22 Hola Albert,
    Los servicios web siempre van a retornar una cadena de caracteres. En tu caso dado que es un servicio SOAP la cadena de caracteres representa un documento XML.

    Si utilizas la extensión SOAP de PHP entonces la librería se hace cargo de transformar la respuesta a un escalar, un arreglo o una clase dependiendo de cómo configuraste tu cliente.

    Una vez que tengas la respuesta puedes transformarla en lo que tu quieras.

    Saludos
      Votes: 0 - Link answer
     
  • Date: 08-12-2019 09:21:21 hola, si llego a traer la información pero me trae en forma de una cadena de texto toda la respuesta y lo que necesito es que me muestre ya sea en json, para poder colocarlo en cajas de texto en el html, estoy usando soap de php y le envio el xml al WS con todos sus parametros pero la respuesta es una cadena de texto... derrepente con nusoap crees que mande la informacion correcta, ya sea en un array??   Votes: 0 - Link answer
     
  • Date: 08-12-2019 11:47:10 ¿Podría servirte usar json_encode()?   Votes: 0 - Link answer
     
  • Date: 08-12-2019 12:04:35 ya intente con json_encode y no funciona porque los datos los muestra en candena, pero creo que tengo que utilizar alguna libreria o metodo para que me traiga en formato xml, ya que en el postman cuando consulto al WS si me devuelve en xml, tratare de subir mañana mi código.   Votes: 0 - Link answer
     
  • Date: 08-12-2019 16:51:00 Puedes compartir un ejemplo de la cadena que recibes?

    Sería más fácil ayudarte.
      Votes: 0 - Link answer
     
  • Date: 09-12-2019 04:42:16 Este es mi código el resultado de esto es un string con todos los datos en forma de cadena.
    me imprime algo asi como esto: string(9837) "0000PEREZPEREZVICTOR SECADA 395 CHOSICASOLTERO/JUAN ALIMNINGUNALIMA/LIMA/LURIGANCHOConsulta realizada correctamente"
    		$client2 = new SoapClient("data.wsdl");
    		
    		$request = '<soapenv:Envelope xmlns:soapenv="" xmlns:ws="">
       <soapenv:Header/>
       <soapenv:Body>
          <ws:consultar>
             <arg0>
                <!--Optional:-->
                <nuDniConsulta>'.$nuDniConsulta.'</nuDniConsulta>
                <!--Optional:-->
                <nuDniUsuario>'.$nuDniUsuario.'</nuDniUsuario>
                <!--Optional:-->
                <nuRucUsuario>'.$nuRucUsuario.'</nuRucUsuario>
                <!--Optional:-->
                <password>'.$password.'</password>
             </arg0>
          </ws:consultar>
       </soapenv:Body>
    </soapenv:Envelope>
    ';
    		$uri = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?wsdl";
    
    		$datos = $client2->__doRequest($request, $uri,'consultar',SOAP_1_1);
    		
    
    		
    		var_dump($datos);

      Votes: 0 - Link answer
     
  • Date: 10-12-2019 08:40:23 Hola saludos.. tu problema es que mandas a pantalla con "var_dump" lo que debes hacer es

    /* Si esta en un arreglo */
    echo json_encode($datos);
    
    /* si ya esa codificado */
    echo $datos;
    
    /* O si  solo es un string debes ver en que momento lo convierten a string  y lo dejas como objeto o arreglo ya que segun lo que pones lo que te deja la variable datos es solo un string largo y no un array, asi que debes ver donde lo convierte a string y dejarlo como venia.. */
    


    Saludos Terricola...

    Stryfe™
      Votes: 0 - Link answer
     
  • Date: 10-12-2019 09:40:06 lo solucione con apis rest, saludos   Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In