Pete_Zed
asked on
Limit XML output result from SOAP
I have been successfully grabbing data from a server using SOAP. But now I want to take it a step further.
How can I limit the output of items to 10 items for example, rather than the whole catalog?
Here is how I currently grab the data from the server.
How can I limit the output of items to 10 items for example, rather than the whole catalog?
Here is how I currently grab the data from the server.
<%
Dim objXMLHTTP : SET objXMLHTTP = Server.CreateObject("Msxml2.XMLHTTP.3.0")
Dim objOutputXMLDoc : Set objOutputXMLDoc = Server.CreateObject("MSXML.DOMDocument")
Dim strMethodPkg
Dim strMethodResultXML
Dim catID : catID = 89
Dim Html_Strip : Html_Strip = 1
Dim AffiliateID : AffiliateID = 61
strMethodPkg ="<?xml version=""1.0"" encoding=""utf-8""?>"
strMethodPkg = strMethodPkg &"<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">"
strMethodPkg = strMethodPkg & "<soap:Body>"
strMethodPkg = strMethodPkg & "<Product_List_Xml xmlns=""http://www.estaronline.com/webservices/"">"
strMethodPkg = strMethodPkg & "<CatalogueID>" & catID & "</CatalogueID>"
strMethodPkg = strMethodPkg & "<Html_Strip>" & Html_Strip & "</Html_Strip>"
strMethodPkg = strMethodPkg & "<AffiliateID>" & AffiliateID &"</AffiliateID>"
strMethodPkg = strMethodPkg & "</Product_List_Xml></soap:Body></soap:Envelope>"
objXMLHTTP.open "post", "http://www.servernamegoeshere.com/AffiliateServices.asmx", False
objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXMLHTTP.setRequestHeader "Content-Length", Len(strMethodPkg)
objXMLHTTP.setRequestHeader "SOAPAction", "http://www.estaronline.com/webservices/Product_List_Xml"
Call objXMLHTTP.send(strMethodPkg)
strMethodResultXML = objXMLHTTP.responseText
Dim sXml
objOutputXMLDoc.LoadXml(strMethodResultXML)
sXml = objOutputXMLDoc.SelectSingleNode("//Product_List_XmlResult").ChildNodes(0).xml
Dim oXML
Set oXML = Server.CreateObject("MSXML2.DOMDocument.3.0")
Dim oXSL
Set oXSL= Server.CreateObject("Msxml2.FreeThreadedDOMDocument.3.0")
Dim oTmpl
Set oTmpl= Server.CreateObject("Msxml2.XSLTemplate.3.0")
Dim oProc
oXSL.async = false
oXSL.load(Server.MapPath("product.xslt"))
oXML.LoadXml(sXml)
oTmpl.stylesheet = oXSL
Set oProc= oTmpl.createProcessor()
oProc.input = oXML
oProc.addParameter "catID", catID
oProc.output = Response
oProc.transform()
%>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.