Foros del Web » Programando para Internet » PHP »

Consumo de WS con nusoap.

Estas en el tema de Consumo de WS con nusoap. en el foro de PHP en Foros del Web. Buenas. Estoy intentando consumir este WS con nusoap.... Soy novato en el tema.... realice esto pero no me funciona el consumo... que estoy haciendo mal? ...
  #1 (permalink)  
Antiguo 01/10/2015, 18:02
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 10 meses
Puntos: 50
Consumo de WS con nusoap.

Buenas.

Estoy intentando consumir este WS con nusoap.... Soy novato en el tema.... realice esto pero no me funciona el consumo... que estoy haciendo mal?

El WSDL es: 'http://sandbox.coordinadora.com/agw/ws/guias/1.4/server.php?wsdl

El usuario y la clave reales no los puedo dar por razones de seguridad....

Me pueden orientar? gracias!

Código PHP:
<?php
ini_set
('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
include(
'lib/nusoap.php');
$client = new nusoap_client('http://sandbox.coordinadora.com/agw/ws/guias/1.4/server.php?wsdl','wsdl');
$err $client->getError();
if (
$err) {
    echo 
'<h2>Constructor error</h2><pre>' $err '</pre>';
}
$param = array(
    
'codigo_remision' => '',
    
'fecha' => '2015-10-01',
    
'id_cliente' => '21676',
    
'id_remitente' => '',
    
'nombre_remitente' => 'prueba',
    
'direccion_remitente' => 'Troncal Occ. Km 2.5 Via Bogota - Facatativa Urb. San Carlos 2 - Etapa 4 Funza',
    
'telefono_remitente' => '018000518170',
    
'ciudad_remitente' => '05001000',
    
'nit_destinatario' => '1017177974',
    
'div_destinatario' => '1',
    
'nombre_destinatario' => 'lPUNTO ENTREGA COORD AV FERROCARRIL |Karen Chavarro',
    
'direccion_destinatario' => 'CR. 57 # 49 - 91',
    
'ciudad_destinatario' => '05001000',
    
'telefono_destinatario' => '5838659',
    
'valor_declarado' => 100000,
    
'codigo_cuenta' => 0,
    
'codigo_producto' => 0,
    
'nivel_servicio' => 1,
    
'linea' => '',
    
'contenido' => 'PANASONIC RPHV41PPA AUDIFONO A',
    
'referencia' => '283523000 -  D979010000158',
    
'observaciones' => '',
    
'estado' => 'IMPRESO',
    
'detalle' => array(
        
'item' => array (
            
'ubl' => 0,
            
'alto' => 50,
            
'ancho' => 50,
            
'largo' => 10,
            
'peso' => 1,
            
'unidades' => 1,
        )
    ),
    
'cuenta_contable' => '',
    
'centro_costos' => '',
    
'recaudos' => '',
    
'margen_izquierdo' =>2,
    
'margen_superior' => 2,
    
'id_rotulo' => 2,
    
'usuario_vmi' => '',
    
'formato_impresion' => '2',
    
'atributo1_nombre' => '',
    
'atributo1_valor' => '',    
    
'usuario' => 'usuariosecreto',
    
'clave' => 'qweqwewqwffsdfsdccverterfwerwerwerwevr',
);

$result $client->call('Guias_generarGuia'$param);


//echo '<h2>Request</h2>';
//echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';exit;


if ($client->fault) {
 echo 
'<h2>Fault</h2><pre>';
 
print_r($result);
 echo 
'</pre>';
} else {
 
// Check for errors
 
$err $client->getError();
 if (
$err) {
  
// Display the error
  
echo '<h2>Error</h2><pre>' $err '</pre>';
 } else {
  
// Display the result
  
echo '<h2>Result</h2><pre>';
  print(
$result);
  echo 
'</pre>';
 }
}

echo 
'<h2>Debug</h2><pre>' htmlspecialchars($client->debug_strENT_QUOTES) . '</pre>';
?>
El message request que debe generar para que funcione, es algo como este:

Código:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://sandbox.coordinadora.com/agw/ws/guias/1.4/server.php" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:Guias_generarGuia soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
           <p xsi:type="ser:Agw_typeGenerarGuiaIn">
            <!--You may enter the following 36 items in any order-->
            <codigo_remision xsi:type="xsd:string"></codigo_remision>
            <fecha xsi:type="xsd:string">2015-10-01</fecha>
            <id_cliente xsi:type="xsd:int">21676</id_cliente>
            <id_remitente xsi:type="xsd:int"></id_remitente>
            <nombre_remitente xsi:type="xsd:string">Prueba</nombre_remitente>
            <direccion_remitente xsi:type="xsd:string"> Troncal Occ. Km 2.5 Via Bogota - Facatativa Urb. San Carlos 2 - Etapa 4 Funza</direccion_remitente>
            <telefono_remitente xsi:type="xsd:string">018000518170</telefono_remitente>
            <ciudad_remitente xsi:type="xsd:string">05001000</ciudad_remitente>
            <nit_destinatario xsi:type="xsd:string">1017177974</nit_destinatario>
            <div_destinatario xsi:type="xsd:string">1</div_destinatario>
            <nombre_destinatario xsi:type="xsd:string">lPUNTO ENTREGA COORD AV FERROCARRIL |Karen Chavarro</nombre_destinatario>
            <direccion_destinatario xsi:type="xsd:string">CR. 57 # 49 - 91 </direccion_destinatario>
            <ciudad_destinatario xsi:type="xsd:string">05001000</ciudad_destinatario>
            <telefono_destinatario xsi:type="xsd:string">5838659</telefono_destinatario>
            <valor_declarado xsi:type="xsd:float">100000</valor_declarado>
            <codigo_cuenta xsi:type="xsd:int">0</codigo_cuenta>
            <codigo_producto xsi:type="xsd:int">0</codigo_producto>
            <nivel_servicio xsi:type="xsd:int">1</nivel_servicio>
            <linea xsi:type="xsd:string"></linea>
            <contenido xsi:type="xsd:string">PANASONIC RPHV41PPA AUDIFONO A </contenido>
            <referencia xsi:type="xsd:string">283523000 -  D979010000158 </referencia>
            <observaciones xsi:type="xsd:string"></observaciones>
            <estado xsi:type="xsd:string">IMPRESO</estado>
            <detalle xsi:type="ser:ArrayOfAgw_typeGuiaDetalle" soapenc:arrayType="ser:Agw_typeGuiaDetalle[]">
            <item>
            <ubl xsi:type="xsd:int">0</ubl>
           	<alto xsi:type="xsd:int">50</alto>
           	<ancho xsi:type="xsd:int">50</ancho>
           	<largo xsi:type="xsd:int">10</largo>
           	<peso xsi:type="xsd:float">1</peso>
           	<unidades xsi:type="xsd:int">1</unidades>
            </item>
           </detalle>
            <cuenta_contable xsi:type="xsd:string"></cuenta_contable>
            <centro_costos xsi:type="xsd:string"></centro_costos>
            <recaudos xsi:type="ser:ArrayOfAgw_typeGuiaDetalleRecaudo" soapenc:arrayType="ser:Agw_typeGuiaDetalleRecaudo[]">
            </recaudos>
            <margen_izquierdo xsi:type="xsd:float">2</margen_izquierdo>
            <margen_superior xsi:type="xsd:float">2</margen_superior>
            <id_rotulo xsi:type="xsd:int">2</id_rotulo>
            <usuario_vmi xsi:type="xsd:string"></usuario_vmi>
            <formato_impresion xsi:type="xsd:string">2</formato_impresion>
            <atributo1_nombre xsi:type="xsd:string"></atributo1_nombre>
            <atributo1_valor xsi:type="xsd:string"></atributo1_valor>
            <usuario>usuario</usuario>
        <clave>11111</clave>
         </p>
      </ser:Guias_generarGuia>
   </soapenv:Body>
</soapenv:Envelope>

Última edición por helacer; 01/10/2015 a las 18:09
  #2 (permalink)  
Antiguo 04/10/2015, 22:58
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consumo de WS con nusoap.

<saludo>
Ahm, pues sin datos de user y password no puedo hacer pruebas de consumo.
No te dieron unos de prueba?
O un webservice de prueba al menos?

En fin, dices que no funciona, pero, cual es el mensaje de error?

Por otra parte, a recaudos le pasa lo mismo que a detalle,
tiene elementos internos, y en el ejemplo que mostraste
lo haces igual a una cadena vacía, puede ser ese el problema.
</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 05/10/2015, 09:19
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 10 meses
Puntos: 50
Respuesta: Consumo de WS con nusoap.

Gracias por su respuesta.

Solo tengo el usuarios y clave de producción por eso no lo puedo colocar... entiendo que no puedan ayudarme a probarlo pero al menos la estructura de mi consumo quisiera que me confirmara si esta bien.


al hacer el consumo me dice que usuario inválido... pero el usuario que uso si funciona porque al colocar ese mismo usuario en el message soap request directamente y probarlo con SOAPUI ... si hace el consumo correctamente!!!

Que otras mejoras o cambios le puedo hacer al código? gracias!
  #4 (permalink)  
Antiguo 05/10/2015, 18:25
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consumo de WS con nusoap.

<saludo>
Y cual es el usuario inválido?
usuario o usuario_vmi ?

Probandolo por soap ui , envias ambos usuarios?
Por el script php, envias ambos?
Los mismos valores en ambos casos? No hay espacios en el php?

Pues es que sí la respuesta del ws dice eso, pues eso es,
a menos que el problema sea de validación, pero de ser asì
en soap ui debería informar también.

A revisar eso con calma.

</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: consumo, fecha, html
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 15:35.