Hi Dawn.
I don't understand your question!
Are you working in the client side or server side? I think that REST is then "response" to be developed following the "request(CONTENT-TYPE)" sent.
Attached you´ll find one sample of how to read the tags in the body of XML. Using this sample you can learn how to do it in others cases.
As far as I kwon "REST" is a new concept, and If you´d like to develop one JSON I belive that you´ll not find any native class.
[]'s
Class forum.bean.Car Extends (%RegisteredObject, %XML.Adaptor) [ ProcedureBlock ]
{
property name as %String;
property sport as %Boolean;
}
Class forum.web.WSHand Extends %CSP.Page [ ProcedureBlock ]
{
Parameter CONTENTTYPE = "text/xml";
ClassMethod OnPage() As %Status
{
write "<?xml version=""1.0"" ?>"_
"<root><factory><Cars><Car><name>Beetle</name><sport>0</sport></Car><Car><name>Mustang</name><sport>1</sport></Car><Car><name>Veyron</name><sport>1</sport></Car></Cars></factory></root>"
quit $$$OK
}
}
result:
<?xml version="1.0" ?>
Class forum.core.Tools Extends %RegisteredObject [ ProcedureBlock ]
{
classmethod getURL() {
write #
set request = ##class(%Net.HttpRequest).%New(),
request.Server = "127.0.0.1",
request.Port = 1972
do request.Get("/csp/user/forum.web.WSHand.cls")
set response = request.HttpResponse
set body = request.HttpResponse.Data
set nodeHeader = "",
nodeHeader = response.GetNextHeader(nodeHeader)
while (nodeHeader'="") {
write nodeHeader_":",?15,response.Headers(nodeHeader),!
set nodeHeader = response.GetNextHeader(nodeHeader)
}
for iC=1:1:80 write "#" write:( (iC=1) ! (iC=80)) !!
set reader = ##class(%XML.Reader).%New()
do reader.OpenStream(body)
do reader.Correlate("Car","forum.bean.Car")
write !?10,"Name",?30,"Sport",!!
while (reader.Next(.carro,.sc)) {
write ?10,carro.name,?30,carro.sport,!
}
}
}
USER>d ##class(forum.core.Tools).getURL()
CACHE-CONTROL: no-cache
CONNECTION: Close
CONTENT-TYPE: text/xml; charset=ISO-8859-1
DATE: Thu, 12 Nov 2009 18:45:34 GMT
EXPIRES: Thu, 29 Oct 1998 17:04:19 GMT
PRAGMA: no-cache
SET-COOKIE: CSPSESSIONID=932099751217672685; path=/csp/user/;
#
###############################################################################
Name Sport
Beetle 0
Mustang 1
Veyron 1
USER>
--
cel: 55 11 7737 - 7571
radio: 55*100*20132