Asesoria Web Servises

Asesoria Web Servises

Postby wilsongamboa » Tue Jan 26, 2016 11:06 pm

Necesito comunicarme con un programa llamado ecom de la empresa Nestle
Alguien tiene alguna idea de como hacerlo

Los desarrolladores me pasaron un ejemplo en php

Code: Select all  Expand view
<?php
require_once('lib/nusoap.php');
 
$wsdlurl =  "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php?wsdl";
$client = new nusoap_client($wsdlurl, 'wsdl');
 
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = true;
 
$function = 'getMarca';
 
$cad = "<login>
                  <servidorBaseDatos>www.ecom.com.co</servidorBaseDatos>
                  <nombreBaseDatos>natsilepru</nombreBaseDatos>
                  <usuarioBaseDatos>pedidos@natsilepru</usuarioBaseDatos>
                  <claveBaseDatos>Ecom2015</claveBaseDatos>
                  <fechaInicial>2016-01-01</fechaInicial>  
                  <fechaFinal>2016-01-30</fechaFinal>
                  <limiteRegistros>10</limiteRegistros>
                  <offset>0</offset>
            <login>"
;
 
$params = array('parametros' => $cad);
 
$result = $client->call($function,$params);
$err = $client->getError();
 
if ($err != ""){
      echo $err;
}
 
for ($i=0;$i<sizeof($result);$i++){
      $codigomarca=$result[$i]['codigomarca'];
      $nombremarca=$result[$i]['nombremarca'];
     
      //aquí los insert en la bd
      echo "Codigo => ".$codigomarca." Nombre => ".$nombremarca."<br>";
}
 
 
?>


Podria alguien caritativo darme una mano o asesorarme con pago económico claro

saludos
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby Antonio Linares » Wed Jan 27, 2016 10:59 am

Wilson,

Aqui tienes un ejemplo de como usar un web service desarrollado por Rafa Carmona con Harbour:

viewtopic.php?f=33&t=31621&p=184517
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42069
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Asesoria Web Servises

Postby wilsongamboa » Wed Jan 27, 2016 11:30 am

Master Antonio
muchas gracias
ya tengo donde mirar
saludos cordiales
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby wilsongamboa » Wed Jan 27, 2016 11:14 pm

estimado Antonio, con este codigo parece que ya se conecta pero me regresan los metodos como algo informativo, COMO ? le paso un parametro indicando el metodo que deseo me ejecute por ejemplo el metodo getClientes
Code: Select all  Expand view
PROCEDURE test_htip()

   LOCAL oHttp, hQuery, cResponse


   local cad := "<login> " + ;
                  "<servidorBaseDatos>www.ecom.com.co</servidorBaseDatos>"+;
                  "<nombreBaseDatos>natsilepru</nombreBaseDatos>"+;
                  "<usuarioBaseDatos>pedidos@natsilepru</usuarioBaseDatos>"+;
                  "<claveBaseDatos>Ecom2015</claveBaseDatos>"+;
                  "<fechaInicial>2016-01-01</fechaInicial>"+;
                  "<fechaFinal>2016-01-30</fechaFinal>"+;
                  "<limiteRegistros>10</limiteRegistros>"+;
                  "<offset>0</offset>"+;
                  "<login>"


   hQUery := { => }
   hb_HCaseMatch( hQuery, .F. )

   oHttp := TIPClientHTTP():New( "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php?wsdl", .T. )
   //hQuery[ "nombre" ]    := "THefull The BEST!"

   //cad = [<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/">]

   hQuery[ "parametros" ]    := cad
   //hQuery[ "operation name"   ]    := 'getClientes'

   IF ! oHttp:open()
      ? "Error: oHttp:open(): " + oHttp:lastErrorMessage()
      RETURN
   ENDIF

   IF ! oHttp:post( hQuery )
      ? "Error: oHttp:post(): " + oHttp:lastErrorMessage()
   ENDIF

   cResponse  := oHttp:readAll()
   oHttp:close()
   hb_memowrit( 'log.log', cResponse )
   Alert( cResponse )

   RETURN


Gracias por escucharme
saludos
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby Antonio Linares » Thu Jan 28, 2016 9:04 am

Wilson,

Envíale un email a Rafa Carmona que seguro él sabrá ayudarte
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42069
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Asesoria Web Servises

Postby thefull » Thu Jan 28, 2016 12:05 pm

Buenas
Hay muchos ejemplos en este foro que seguro te pondran ayudar.

Mi consejo es que si estas muy perdido, uses SOAPCLIENT de M$, ojo que no todos los webservices los soporta, alguno raro me he encontrado.
Por ejemplo, http://forums.fivetechsupport.com/viewtopic.php?f=6&t=28927&p=179416&hilit=soapclient&sid=e35bc76faa98d0ff1f6cc7c3e4b8f5f5&sid=e35bc76faa98d0ff1f6cc7c3e4b8f5f5#p179416

Saludos Cordiales
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Re: Asesoria Web Servises

Postby wilsongamboa » Thu Jan 28, 2016 6:16 pm

Maestro The Full
gracias por la info
podrias tu asesorarme?
por el momento solo debo leer unos pedidos y traerlos del web services
saludos
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby thefull » Thu Jan 28, 2016 9:11 pm

Una de las herramientas imprescindible de usar para los ws es SoapUI, donde puedes ver por debajo de todo lo
que ocurre en la comunicación, lo que te da una idea de lo que va ocurriendo y como tienes que implementar muchas de las
llamadas.

También puedes mirar si es posible usar la libreria CURL , la cual esta implementada en Harbour.
Estoy casi convencido que lo que buscas hacer, alguien en PHP lo ha realizado. O VisualBasic , seguramente te servirá.

Si tengo un poco de tiempo, hacer si te monto un ejemplo simple con esa wsd.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Re: Asesoria Web Servises

Postby wilsongamboa » Thu Jan 28, 2016 9:43 pm

Gracias Master te lo agradecere mucho
cuesta engancharse a estos temas
saludos cordiales

Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby thefull » Tue Feb 02, 2016 9:18 am

Buenas Wilson

Te dejo 2 implementaciones , una con SOAPClient, no lo he podido probar porque no me funciona SOAP en mi W7 64 y otro usando peticion directo por http;

Vesion SoapClient, no probado.
Code: Select all  Expand view

/***************************************************************************/
function testWilson()
   Local cValue := ""
   Local oSoapClient
   Local lOk
   Local cDominio_WebServices := "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php?wsdl"
   Local cad := [<login> ]+;
                [  <servidorBaseDatos>www.ecom.com.co</servidorBaseDatos>]+;
                [  <nombreBaseDatos>natsilepru</nombreBaseDatos>]+;
                [  <usuarioBaseDatos>pedidos@natsilepru</usuarioBaseDatos>]+;
                [  <claveBaseDatos>Ecom2015</claveBaseDatos>]+;
                [  <fechaInicial>2016-01-01</fechaInicial>  ]+;
                [  <fechaFinal>2016-01-30</fechaFinal>]+;
                [  <limiteRegistros>10</limiteRegistros>]+;
                [  <offset>0</offset>]+;
                [  </login> ]

   lOk := .T.
   oSoapClient := NIL
   
   // Vamos a intentar conectarnos a SOAP30 y si no SOAP
   try
//      oSoapClient  := CreateObject( "MSSOAP.SoapClient30" )  // Conecta a SOAP 3.0
      oSoapClient  := CreateObject( "MSSOAP.SoapConector30" )  // Conecta a SOAP 3.0
   catch                                                       // Si falla, conecta a SOAP
      try
          oSoapClient  := CreateObject( "MSSOAP.SoapClient" )
       catch
          cValue := "No esta disponible SOAPCLIENT"
          Alert( cValue )
         lOk := .F.
       end
   end

   if lOk
      try
         alert( "msSoapInit")
         oSoapClient:msSoapInit( cDominio_WebServices )
         alert( "Iniciado")
         try
         cValue := oSoapClient:GetMarca( cad )
         catch
            cValue := oSOAPClient:faultString + Hb_OsNewLine() + oSOAPClient:detail
            lOk := .F.
         end
      catch
          cValue := "Conexion:"+ oSOAPClient:faultString + Hb_OsNewLine() + oSOAPClient:detail
          lOk := .F.
      end
   endif

   Alert( cValue )
   oSoapClient := NIL
   hb_gcall( .T. )

return cValue
 


Por POST

Code: Select all  Expand view


FUNCTION testWilson_2()
    Local oHttp
    Local cDominio_WebServices := "http://69.20.52.167/eforce/wsInterfacesEc/InterfacesEc3.php"

    Local cXml := [<?xml version="1.0" encoding="UTF-8"?> ]+;
    [<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:urn="urn:InterfazEc">]+;
    [   <soapenv:Header/>]+;
    [   <soapenv:Body>]+;
    [      <urn:getMarca soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">]+;
    [         <parametros xsi:type="xsd:string"><login>]+;
    [                  <servidorBaseDatos>www.ecom.com.co</servidorBaseDatos>]+;
    [                  <nombreBaseDatos>natsilepru</nombreBaseDatos>]+;
    [                  <usuarioBaseDatos>pedidos@natsilepru</usuarioBaseDatos>]+;
    [                  <claveBaseDatos>Ecom2015</claveBaseDatos>]+;
    [                  <fechaInicial>2016-01-01</fechaInicial>  ]+;
    [                  <fechaFinal>2016-01-30</fechaFinal>]+;
    [                  <limiteRegistros>10</limiteRegistros>]+;
    [                  <offset>0</offset>]+;
    [            </login></parametros>]+;
    [     </urn:getMarca>]+;
    [   </soapenv:Body>]+;
    [ </soapenv:Envelope>]


    try
      oHttp := CreateObject( "MSXML2.XMLHTTP" )
    catch e
         ? "Error de creacion"
    end

    oHttp:Open( "POST", cDominio_WebServices, .F. )
    ohttp:SetRequestHeader("Content-Type" ,"text/xml;charset=UTF-8" )
    ohttp:SetRequestHeader( "SOAPAction" , "urn:InterfazEc#getMarca" )
    oHttp:SetRequestHeader( "Connection:", "Keep-Alive" )
    oHttp:SetRequestHeader( "Content-length: ", Str( len( cXml ) ) )

    hFile := FCreate( "entrada.xml" )
    If hFile = -1
       MsgStop( "No se pudo abrir el fichero" +  "entrada.xml" )
       return nil
    endif
    Fwrite( hFile, cXMl  )
    fClose( hFile )

    oHttp:Send( cXml )

    alert( oHttp:responseText )
    hFile := FCreate( "salida.xml" )

    If hFile = -1
       MsgStop( "No se pudo abrir el fichero" +  "salida.xml" )
       return nil
    endif
    Fwrite( hFile, oHttp:responseText  )
    fClose( hFile )

RETURN NIL
 


Devuelve lo mismo que SOAPui, por lo tanto, todo correcto
Espero que esto te ayude en el camino ;-)

Saludos Cordiales


Saludos Cordiales
Last edited by thefull on Tue Feb 02, 2016 10:02 am, edited 1 time in total.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Re: Asesoria Web Servises

Postby Antonio Linares » Tue Feb 02, 2016 9:44 am

gracias Rafa :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42069
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Asesoria Web Servises

Postby wilsongamboa » Tue Feb 02, 2016 10:14 am

Rafa muchisimas gracias
ya lo voy a probar
saludos cordiales

Wilson
pd: tengo problemas con CHrome y estos foros, ya no me deja ingresar, estoy ingresando por Internet Explorer
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby cnavarro » Tue Feb 02, 2016 1:20 pm

Limpia las cookies del sitio, a mi me paso lo mismo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Asesoria Web Servises

Postby wilsongamboa » Tue Feb 02, 2016 4:07 pm

Cristobal
muchas gracias
eso era
saludos
Wilson
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Asesoria Web Servises

Postby wilsongamboa » Tue Feb 02, 2016 4:23 pm

Continuando
Probando con el metodo Post ya que el soap me da error
me sale
Code: Select all  Expand view

                              <?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/"><SOAP-ENV:Body><n
            s1:getMarcaResponse xmlns:ns1="urn:InterfazEc"><return
              xsi:type="xsd:string">servidorBaseDatos Incorrecto
     </return></ns1:getMarcaResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
 

sin embargo con el programa php y los mismos parametros si me sale bien
sigo investigando, y Rafa si pudieras escribir algo generico de coneccion con web services, le pones un precio y creo que saldremos muchos adelante, estos trabajos con complementarios para nuestros sistemas, si logro algo pues lo estare posteando
gracias por su ayuda
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 593
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Next

Return to Off Topic / Otros temas

Who is online

Users browsing this forum: No registered users and 2 guests