[R] SSOAP failing

Olivier Cailloux mlsmg at ulb.ac.be
Wed Jun 10 17:15:57 CEST 2009


Duncan Temple Lang a écrit :
>
>
> Olivier Cailloux wrote:
>> Duncan Temple Lang a écrit :
>>>
>>>
>>> Olivier Cailloux wrote:
>>>> Dear list,
>>>>
>> 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".
>
>  http://www.omegahat.org/XMLSchema/XMLSchema_0.1-1.tar.gz
>
> or from a link in
>    http://www.omegahat.org/XMLSchema/
>
> or via the repository using
>
>   install.packages("XMLSchema", repos = "http://www.omegahat.org/R")
Thanks a lot: with the new version, calling my SOAP services work like a 
charm!

It would be nice to add a link to XMLSchema from the main page, to make 
it easier to find for users... And for Google! (So that it will index 
the page.)

Calling with the "normal" SOAP call works without trouble. However I 
can't use the "genSOAPClientInterface" way... See example hereunder.
---
 > smg8Echo <- SOAPServer("smg8.ulb.ac.be", 
"axis2/services/EchoService", 8080)
 > .SOAP(smg8Echo, "doEchoOp", action="", 
xmlns="http://smg8.ulb.ac.be/echoSvc/", toEchoInt=32)
[1] "32"
 > defEcho <- 
processWSDL("http://smg8.ulb.ac.be:8080/axis2/services/EchoService?wsdl")
 > genSOAPClientInterface(def = defEcho)
[1] "TheString"
[1] "TheInt"
Error in def at operations[[1]] : subscript out of bounds
 > length(defEcho at operations)
[1] 0
---

I can use the "normal" interface to my SOAP service anyway, so it is not 
*that* important if I can't make the genSOAPClientInterface call work. I 
just wanted to let you know, and also that way might reveal simpler for 
my user... Please tell me if I can try something else, if you have some 
time to look at it...
Olivier

>
>>
>> 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.
>>
>
> Either of Simon Urbanek's rJava  or Rserve packages are worth 
> investigating.
>
>> 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.
>>>
>>
>> ______________________________________________
>> 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