Ir a contenido Ir a Estudios, Gobernanza y organización
Logo UA
Realizar búsqueda
Menú
Services

ejemplo asp privado

Para poder llamar a un Web Service desde su servidor, si trabaja con ASP 3.0, necesita tener instalado el Parser MSXML de Microsoft, el cual viene integrado con Internet Explorer 5 y superiores.

A continuación, puede ver el código fuente del ejemplo para observar cómo se invocan las funciones y cómo se reciben los datos resultantes o los errores.

  • Asignaturas de un alumno. En este ASP puede ver cómo se invoca la función pudiendo elegir qué es lo que queremos que muestre: el resultado formateado en HTML, en XML puro o mostrar el mensaje de llamada en XML.


<%

'Parámetros de la función
wlengua = "C" 'Request("lengua")
wcodusu = "XXXXXXXX" 'Request("codusu")
wclave = "XXXXXXX" 'Request("clave")
wcurso = "2010-11" 'Request("curso")
wcodest = "B203" 'Request("codest")
wcodexp = "XXXX" 'Request("codexp")

if wlengua = "" then wlengua = "C"
    
      
funcion = "wsasigalu"
namespace = "http://UASI/WSS_GESTDOCENTE.wsdl"
endpoint = "https://cvnet.cpd.ua.es/servicioweb/privados/prv_gestdocente.asmx"
action = "http://UASI/WSS_GESTDOCENTE.wsdl/" & funcion
    
    
                cadenaXML = "<?xml version=""1.0"" encoding=""utf-8""?>" & vbCrLf
    cadenaXML = cadenaXML & " <SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"""
    cadenaXML = cadenaXML & "   SOAP-ENV:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"""
    cadenaXML = cadenaXML & "   xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"""
    cadenaXML = cadenaXML & "   xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">"
    cadenaXML = cadenaXML & "  <SOAP-ENV:Body>" & vbCrLf
    cadenaXML = cadenaXML & "   <" & funcion & " xmlns=""" & namespace & """>" & vbCrLf
    
    cadenaXML = cadenaXML & "     <plengua xsi:type=""xsd:string"">" & wlengua & "</plengua>" & vbCrLf
    cadenaXML = cadenaXML & "     <pcodusuario xsi:type=""xsd:string"">" & wcodusu & "</pcodusuario>" & vbCrLf
    cadenaXML = cadenaXML & "     <pclave xsi:type=""xsd:string"">" & wclave & "</pclave>" & vbCrLf
    cadenaXML = cadenaXML & "     <pcurso xsi:type=""xsd:string"">" & wcurso & "</pcurso>" & vbCrLf
    cadenaXML = cadenaXML & "     <pcodest xsi:type=""xsd:string"">" & wcodest & "</pcodest>" & vbCrLf
    cadenaXML = cadenaXML & "     <pcodexp xsi:type=""xsd:string"">" & wcodexp & "</pcodexp>" & vbCrLf

    cadenaXML = cadenaXML & "   </" & funcion & ">" & vbCrLf
    cadenaXML = cadenaXML & "  </SOAP-ENV:Body>" & vbCrLf
    cadenaXML = cadenaXML & " </SOAP-ENV:Envelope>" & vbCrLf


    Set objInputXMLDoc = Server.CreateObject("Microsoft.XMLDOM")

    objInputXMLDoc.loadXML cadenaXML


    Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
    objXMLHTTP.open "POST", endpoint, false
    objXMLHTTP.setRequestHeader "Content-Type", "text/xml"
    objXMLHTTP.setRequestHeader "soapAction", action
    objXMLHTTP.send objInputXMLDoc

    if wLengua = "C" then
        scodasi = "Código"
        snomasi = "Nombre"
        snomasicorto = "NombreCorto"
        scodgrp = "Código grupo"
        sejecodnum = "EjeCodnum"
        svaccodnum = "VacCodnum"
        sgaccodnum = "GacCodnum"
        sdesgrp = "Grupo"
    else
        scodasi = "Código"
        snomasi = "Nombre"
        snomasicorto = "NombreCorto"
        scodgrp = "Código grupo"
        sejecodnum = "EjeCodnum"
        svaccodnum = "VacCodnum"
        sgaccodnum = "GacCodnum"
        sdesgrp = "Grupo"
    end if

    response.write "<HTML><HEAD>" & vbCrLf
    response.write "</HEAD><BODY>" & vbCrLf


    Set objOutputXMLDoc = Server.CreateObject("Microsoft.XMLDOM")
    objOutputXMLDoc.loadXML objXMLHTTP.responseText


    Set Nodes = objOutputXMLDoc.getElementsByTagName("faultstring")
    if Nodes.length>0 then
    
        For Each Node In Nodes
        
            p = Instr(Node.Text, "@@")
            if p>0 then
            
                E = Mid(Node.Text,p+2)
                p = Instr(E, "@@")
                E = Mid(E,1,p-1)
            else
                E = Node.Text
            end if
        next
        response.write(E)
    else
        response.write "<TABLE>" & vbCrLf
        response.write "<tbody>" & vbCrLf
        response.write "<TR>" & vbCrLf
    
        response.write " <TH>" & scodasi & "</TH>" & vbCrLf
        response.write " <TH>" & snomasi & "</TH>" & vbCrLf
        response.write " <TH>" & snomasicorto & "</TH>" & vbCrLf
        response.write " <TH>" & scodgrp & "</TH>" & vbCrLf
        response.write " <TH>" & sejecodnum & "</TH>" & vbCrLf
        response.write " <TH>" & svaccodnum & "</TH>" & vbCrLf
        response.write " <TH>" & sgaccodnum & "</TH>" & vbCrLf    
        response.write " <TH>" & sdesgrp & "</TH>" & vbCrLf
    
        response.write "</TR>" & vbCrLf
    
        Set Nodes = objOutputXMLDoc.getElementsByTagName("ClaseAsigAlu")
              
    For Each Node In Nodes
            response.write "<TR>" & vbCrLf

            response.write " <TD>" & Node.selectSingleNode("codasi").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("nomasi").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("nomasicorto").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("codgrp").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("ejecodnum").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("vaccodnum").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("gaccodnum").Text & "</TD>" & vbCrLf
            response.write " <TD>" & Node.selectSingleNode("desgrp").Text & "</TD>" & vbCrLf

            response.write "</TR>" & vbCrLf
        Next

    response.write "</tbody>" & vbCrLf
    response.write "</TABLE>" & vbCrLf    
    
    end if

    response.write "</BODY>" & vbCrLf
    response.write "</HTML>" & vbCrLf
%>




   

Nota: se ha solicitado el idioma: "en". Se devuelve la página con el entorno posible en ese idioma, pero el contenido en el idioma existente: "es"