Solved

Limit XML output result from SOAP

Posted on 2009-06-30
1
527 Views
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=""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()

 

%>

Open in new window

0
Comment
Question by:Pete_Zed
1 Comment
 
LVL 27

Accepted Solution

by:
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.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
show region if a selection is made on a drop down menu 3 56
Microsoft Edge 9 93
Swiper slider stops between pages 11 45
Grunt Copy file to another destination. 1 17
Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn the basics of jQuery including how to code hide show and toggles. 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…

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

Need Help in Real-Time?

Connect with top rated Experts

28 Experts available now in Live!

Get 1:1 Help Now