¿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