omegahat / SSOAP

R as a SOAP client
14 stars 4 forks source link

Error: evaluation nested too deeply: infinite recursion / options(expressions=)? #1

Open eduardszoecs opened 10 years ago

eduardszoecs commented 10 years ago

For our taxize I tried to interact with the WoRMS webservice. However I can't get their example to run:

> library(SSOAP)
> 
> w = processWSDL("http://www.marinespecies.org/aphia.php?p=soap&wsdl=1")
> iface = genSOAPClientInterface(, w)
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] SSOAP_0.9-1

loaded via a namespace (and not attached):
[1] codetools_0.2-8 RCurl_1.95-4.1  tools_3.0.2     XML_3.98-1.1    XMLSchema_0.7-2

Any Ideas?

The problem comes actually from XMLSchema:::defineClasses() and there probably the two nested lapply() (?).

JHMenegotto commented 9 years ago

I'm with the same error message for the WSDL http://sistemas.cvm.gov.br/webservices/Sistemas/SCW/CDocs/WsDownloadInfs.asmx?WSDL Did you find any solution?

rentrop commented 9 years ago

Same issue for https://adwords.google.com/api/adwords/o/v201509/TrafficEstimatorService?wsdl

Do you have any ideas how to solve this?

Maybe for you guys: options(expressions = 500000) and http://stackoverflow.com/questions/14719349/error-c-stack-usage-is-too-close-to-the-limit#answer-14719448 helps

duncantl commented 9 years ago

Well, the good news is that

library(SSOAP)
library(RCurl)
library(XML)

doc = xmlParse(getURLContent("https://adwords.google.com/api/adwords/o/v201509/TrafficEstimatorService?wsdl"))
iface = processWSDL(doc)

doesn't go into an infinite loop for me and returns a SOAPServerDescription object.

You can install SSOAP and XMLSchema from the github repositories, or I've put versions of these packages from the current repos code at http://www.omegahat.org/SSOAP_0.92-0.tar.gz http://www.omegahat.org/XMLSchema_0.8-0.tar.gz

duncantl commented 9 years ago

And works for JHMenegotto 's URL also.

duncantl commented 8 years ago

This seems to have stopped working again (with an update to the WSDL?) for the worms service. Another minor but important fix is in the XMLSchema repos now that cures the problem.