Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/06/2007, 05:51
tammander
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 4 meses
Puntos: 7
Re: Mostrar registros de WebServices en una tabla comun

¿Estamos hablando de ASP 3.0 o de ASP .NET?

Si es ASP clásico supongo que usas un componente MSXML(X).DOMDocument ((X) es la version) para recoger los datos que te devuelve el MSSOAP. ¿No es asi?

En ese caso lo que tienes que hacer es recorrer los nodos y/o sus hijos. Esta página te será de gran ayuda:

http://www.devguru.com/technologies/..._document.html

Este ejemplo, lee las sucursales que el servicio web le envia:

Código:
Function ObtenerSucursales()
    
    Dim paqueteXML
    set paqueteXML = Server.CreateObject("MSXML2.DOMDocument")

    Set SoapCliente = Server.CreateObject("MSSOAP.SoapClient30")
    'Configuracion del cliente soap
    SoapCliente.mssoapinit "http://www.serviciosweb.com/app1/ws/reservas.WSDL"
    SoapCliente.ClientProperty("ServerHTTPRequest") = true 
    SoapCliente.ConnectorProperty("Timeout") = 60000
    
    'Cargamos la plantilla
    'On error resume next

    paqueteXML.load(PATH_APP & "Soap\PlantillasXML\LocationList.xml")

    if (paqueteXML.xml = "") then 'Ha habido un problema cargando el xml
        ObtenerSucursales = "Ha habido un problema cargando el xml"
        errNum = -1
        errDesc = "Ha habido un problema cargando el xml (func. obtenerSucursales)"
        exit function
    end if
    'On error goto 0
    
    ' Lo siento, no puedo dar estos datos
    set XXX = Server.CreateObject("XXXXXXX.XXX")
    
    'Introducimos los valores    
    paqueteXML.getElementsByTagName("LoginId").Item(0).Text = Session("NumAgencia")
    paqueteXML.getElementsByTagName("Signature").Item(0).Text = XXX.Encode("BRANCHS" & Session("NumAgencia") & Session("PassAgencia"))

    'Realizamos la peticion al servicio web, y cargamos la respuesta
    paqueteXML.LoadXml (SoapCliente.GetLocationsList(paqueteXML.xml))
   

   ' Fijate a partir de aqui
    Dim numSucursales
    numSucursales = paqueteXML.selectSingleNode("/response/Global").childNodes.length
    redim sucursales(numSucursales-1,1) 'La longitud del array sera el numero de sucursales que haya
    
    Dim n
    For n = 0 To numSucursales-1
           sucursales(n,0) = paqueteXML.selectSingleNode("/response/Global").childNodes(n).childNodes(1).Text 'Numero de la sucursal
           sucursales(n,1) = paqueteXML.selectSingleNode("/response/Global").childNodes(n).childNodes(2).Text 'Nombre de la sucursal
    Next
    
    ObtenerSucursales = sucursales

    set paqueteXML = nothing
    set SoapCliente = nothing
end function
Como ves, paso los datos obtenidos a un array. Pero debes saber donde mirar.



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -