Limit XML output result from SOAP

Posted on 2009-06-30
Last Modified: 2013-11-18
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.
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="""" xmlns:xsd="""" xmlns:soap="""">"
strMethodPkg = strMethodPkg & "<soap:Body>"
strMethodPkg = strMethodPkg & "<Product_List_Xml xmlns="""">"
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>" "post", "", False
objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXMLHTTP.setRequestHeader "Content-Length", Len(strMethodPkg)
objXMLHTTP.setRequestHeader "SOAPAction", ""
Call objXMLHTTP.send(strMethodPkg)
strMethodResultXML = objXMLHTTP.responseText
Dim sXml 
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
oTmpl.stylesheet = oXSL
Set oProc= oTmpl.createProcessor()
oProc.input = oXML
oProc.addParameter "catID", catID
oProc.output = Response

Open in new window

Question by:Pete_Zed
1 Comment
LVL 27

Accepted Solution

BigRat earned 500 total points
ID: 24752732
Server Side: Since the SOAP call is for a Web Service, the service *might* offer such a capability. In that case the documenation associated with the service (here Product_List_Xml) might show an extra parameter.

Client Side: you'd have to modify product.xslt not to process too many nodes.

Hope that's a start.

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are two main kinds of selectors in CSS: One is base selector like h1, h2, body, table or any existing HTML tags.  For instance, the following rule sets all paragraphs (<p> elements) to red: (CODE) CSS also allows us to define our own custom …
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: and…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question