Introducción
A continuación se muestra un ejemplo de una aplicación mediante la cual se pueden presentar asientos generales del ASP clásico a través del método Accounting-ProcessJournal(sessionID, administrationID, xmlDoc).
Ejemplo
<%
Dim objXmlHttp
Dim objXmlHttp2
Diminuta sesión
Dim strXml
Dim strAccessKey
Dim strAdministración
Dim strWebserviceUrl
Dim strJournalXml
strAccessKey = "REPLACE WITH WEBSERVICEACCESSKEY"
strAdministrationId = "REPLACE WITH ADMINISTRATIONID"
strWebserviceUrl = "https://api.yukiworks.be/ws/Accounting.asmx"
Construye el mensaje SOAP XML para el WebServiceMethod "http://www.theyukicompany.com/Authenticate".
strXml = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
"<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">" y _
"<soap12:Body>" & _"<Autentificar xmlns=""http://www.theyukicompany.com/"">" y _
"<accessKey>" & strAccessKey & "</accessKey>" & _
"</Autentificar>" & _
"</soap12:Body>" & _
" </soap12:Envelope>"
Crear un objeto ServerXMLHTTP.
Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp.open "POST", strWebserviceUrl, Falso
objXmlHttp.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
objXmlHttp.setRequestHeader "SOAPAction", "http://www.theyukicompany.com/Authenticate"
objXmlHttp.setRequestHeader "Content-Length", Len(strXml)
Envía un mensaje SOAP.
objXmlHttp.send strXml
Imprime el estado de la solicitud.
Respuesta. Escribe "WebServiceMethod ""Autentificar"" estado de la solicitud: <b>" & objXmlHttp.status & " " & objXmlHttp.statusText & "</b><br /><br />"
Imprime la respuesta SOAP XML.
Escribe "<divborder: solid 1px black;"">" & Server.HTMLEncode(objXmlHttp.responseText) & "</div><br /><br />"
"Parse sessionKey from SOAP XML response with ActiveXObject". Si el ActiveXObject "MSXML2.DomDocument.X.X" no se puede encontrar, intenta encontrar
otra versión en MSDN.
Set objXML = Server.CreateObject("MSXML2.DomDocument.3.0")
objXML.loadXML(objXmlHttp.responseText)
strSessionId = objXML.selectNodes("/").item(0).text
Establecer objXML = Nothing
Set objXmlHttp = Nothing
strJournalXml = "<Journal xmlns=""urn:xmlns:http://www.theyukicompany.com:journal""" & _
" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" y _
" <AdministraciónID>" & strAdministraciónId & "</AdministraciónID>" & _
" <AdministrationCoCNumber>12345672</AdministrationCoCNumber>" & _
" <DocumentSubject>Trx import april</DocumentSubject>" & _
" <JournalType>EndOfYearCorrection</EndOfYearCorrection>" & _
" <journalEntry>" & _
" <ContactName> Apple Sales International</ContactName>" & _
" <ContactCode>9921</ContactCode>" & _
" <EntryDate>2012-12-31</EntryDate>" & _
" <GLAccount>20000<GLAccount>" & _
" <Amount>22.22</Amount>" & _
" <Description>Compra Hardware</Descripción>" & _
" <JournalEntry>" & _
" <journalEntry>" & _
" <ContactName> Apple Sales International</ContactName>" & _
" <ContactCode>9921</Código de contacto>" & _
" <EntryDate>2012-12-31</EntryDate>" & _
" <GLAccount>20000<GLAccount>" & _
" <Amount>-22.22</Montaje>" & _
" <Description>Retour hardware</Descripción>" & _
" <JournalEntry>" & _
"</Journal>"
Construye el mensaje SOAP XML para el WebServiceMethod "http://www.theyukicompany.com/ProcessJournal".
strXml = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
"<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">" y _
"<soap12:Body>" & _"<ProcessJournal xmlns=""http://www.theyukicompany.com/"">" & _
"<sessionID>" & strSessionId & "</sessionID>" & _
"<administrationID>" & strAdministrationId & "</administrationID>" & _
"<xmlDoc>" & strJournalXml & "</xmlDoc>" & _
"</ProcessJournal>" & _
"</soap12:Body>" & _
" </soap12:Envelope>"
Crear un objeto ServerXMLHTTP.
Set objXmlHttp2 = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp2.open "POST", strWebserviceUrl, False
objXmlHttp2.setRequestHeader "SOAPAction", "http://www.theyukicompany.com/ProcessJournal"
objXmlHttp2.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
objXmlHttp2.setRequestHeader "Content-Length", Len(strXml)
Envía un mensaje SOAP.
objXmlHttp2.send strXml
Imprime el estado de la solicitud.
Respuesta. Escribe "WebServiceMethod ""ProcessJournal"" estado de la solicitud: <b>" & objXmlHttp2.status & " " & objXmlHttp2.statusTexto & "</b><br /><br />"
Imprime la respuesta SOAP XML.
Escribe "<divborder: solid 1px black;"">" & Server.HTMLEncode(objXmlHttp2.responseText) & "</div>"
Set objXmlHttp2 = Nothing
%>