# Example of working with an array.
wsdl = "http://soap.genome.jp/KEGG.wsdl"
wsdl = "~/KEGG.wsdl"
library(SSOAP)
kegg <- processWSDL(wsdl)
def = genSOAPClientInterface(def=kegg, verbose = TRUE)
cvt =
function(content, type) {
tt = SSOAP:::parseSOAP(content$content, asText = TRUE)
# envelope, body, get_elements_by_pathwayResponse, return
tmp = xmlApply(SSOAP:::getReturnNode(tt),
fromSOAP, type = "PathwayElement")
as(tmp, "ArrayOfPathwayElement")
}
z = def@functions$get_elements_by_pathway('path:bsu00010', .convert = cvt)
# The default mechanism seems marginally faster.
content = def@functions$get_elements_by_pathway('path:bsu00010', .convert = FALSE)
type = environment(def@functions$get_elements_by_pathway)$.operation@returnValue
system.time(zz <- convertFromSOAP(SOAPResult(content$content, content$header), type))
# [1] 5.21 0.07 5.42 0.00 0.00
system.time(zzz <- cvt(content, type))
# [1] 5.93 0.07 6.17 0.00 0.00
# The cvt function does get the class right.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.