[R] SSOAP failing

Olivier Cailloux mlsmg at ulb.ac.be
Fri Jun 5 14:02:42 CEST 2009


Duncan Temple Lang a écrit :
>
>
> Olivier Cailloux wrote:
>> Dear list,
>>
>> I am trying to use the SSOAP package to access a very simple SOAP 
>> service, included as a demonstrator in the axis2 Apache package: 
>> "Version" (takes no input parameters and should return a string with 
>> the version number). The web service itself seems to be working as I 
>> could access it using an other client (eclipse Web Server tester).
>>
>> You will find the service wsdl here: 
>> http://smg8.ulb.ac.be:8080/axis2/services/Version?wsdl, and 
>> informations on the other services I tried here: 
>> http://smg8.ulb.ac.be:8080/axis2/services/listServices.
>>
>> I used the following commands:
>>    library("SSOAP")
>>    smg8Version <- SOAPServer("smg8.ulb.ac.be", 
>> "axis2/services/Version", 8080)
>>    .SOAP(smg8Version, "getVersion", 
>> action=I("VersionHttpSoap11Endpoint"))
>>
>> The first command seems to give a proper smg8Version object, but the 
>> second one fails with "Error: evaluation nested too deeply: infinite 
>> recursion / options(expressions=)?".
>>
>
> The best thing to do is find where the error is occurring.
> You can step through the .SOAP call and see where the problem arises.
>
> The issue is in fromXML when converting the result.
> In the separation of the code in the SSOAP package into
> SSOAP and XMLSchema, I overlooked some methods for the fromXML()
> function for cases where no type information is available.
> There is now a new version (0.1-1) of XMLSchema on the Omegahat web site.
>
> When reporting problems such as these, it is important to provide
> information about what OS, version of R, and the different packages
> you are using. The code above involves the SSOAP, XML, RCurl and 
> XMLSchema packages.
Sorry about that, my e-mail has been sent too soon by mistake (also from 
an incorrect exp. address). I was planning to add further details.

So I'm running Debian Lenny. sessionInfo() gives:
R version 2.7.1 (2008-06-23)
i486-pc-linux-gnu

locale:
C

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

Package:       SSOAP
Version:       0.5-0
Date:          2009/05/04
Package:              XML
Version:              2.3-0
Date:                 2009/03/04
Package:              RCurl
Version:              0.97-3
Package:       XMLSchema
Version:       0.1-0

I must be stupid but I can't find XMLSchema on the omegahat website. (I 
just installed the 0.1-0 version a few days ago when trying to use 
SSOAP.) Google gives nothing useful for "XMLSchema site:omegahat.org".

I'm beginner in both web services and R programming (my knowledge is 
more in desktop & CORBA Java programming). I am simply trying to make 
Java and R communicate (call Java code from R remotely), for use by 
someone else who works in R. I'd like to provide him with a fully 
functional example. I must recognize that having to step through SSOAP 
code to find where the problem lies might be too difficult considering 
my current knowledge (knowing I don't intend to become an expert R 
programmer). Please don't take it as rude or implying that I'm simply 
expecting someone to solve the problem for me: I am ready to investigate 
but I'd simply like to have an idea of how difficult it will be. If I 
have to patch part of SSOAP or if you think that the functions I need 
are not implemented yet, then I'd better not insist and try to 
communicate from R to Java using an other way. If on the other hand you 
think it should be working and is simply a matter of using the right 
version of the right package, or using an other web services platform on 
the Java side, or configuring something differently, etc., then I'll 
happily dig into it.

More generally, if someone has a suggestion on what to use to call Java 
over TCP/IP from R, I'd be interested. I am currently considering OSS as 
well as SSOAP. I'd prefer learning an approach that I can reuse for 
other languages, so possibly a standard like SOAP or CORBA would be best.

Thanks for any pointer.
Olivier

>
>  D.
>
>
>
>
>> I tried different "action" values, because I don't know what I should 
>> put there. But I always get the same error.
>>
>> Also, FYI, the following command produces the following output:
>>    smg8Def <-  
>> processWSDL("http://smg8.ulb.ac.be:8080/axis2/services/Version?wsdl", 
>> verbose=TRUE)
>> processing (sub) schema http://axisversion.sample
>> 1 ) Exception
>> 2 ) Exception
>> 3 ) getVersionResponse
>> Warning message:
>> In 
>> processWSDL("http://smg8.ulb.ac.be:8080/axis2/services/Version?wsdl",  :
>>  Ignoring additional <service><port> ... elements
>>
>> and then
>>
>> I also tried a simpler service (WSDL manually created myself, but I 
>> am not sure it is correct although it validates):
>>    smg8EchoDef <- 
>> processWSDL("http://smg8.ulb.ac.be:8080/axis2/services/EchoService?wsdl", 
>> verbose=TRUE)
>> processing (sub) schema http://smg8.ulb.ac.be/echoSvc/
>> 1 ) TheString
>>    genSOAPClientInterface(def = smg8EchoDef)
>> Error in def at operations[[1]] : subscript out of bounds
>> Indeed:
>>    length(smg8EchoDef at operations)
>> [1] 0
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide 
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>




More information about the R-help mailing list