[R] SSOAP & chemspider
Benton, Paul
hpaul.benton08 at imperial.ac.uk
Tue Aug 2 18:10:25 CEST 2011
Has anyone got SSOAP working on anything besides KEGG?
I just tried another 3 SOAP servers. Both the WSDL and constructing the .SOAP call. Again the perl and ruby interface worked without any hitches.
Paul
> library(SSOAP)
> massBank<-processWSDL("http://www.massbank.jp/api/services/MassBankAPI?wsdl")
Error in parse(text = paste(txt, collapse = "\n")) :
<text>:1:29: unexpected input
1: function(x, ..., obj = new( ‚
^
In addition: Warning message:
In processWSDL("http://www.massbank.jp/api/services/MassBankAPI?wsdl") :
Ignoring additional <service><port> ... elements
>
> metlin<-processWSDL("http://metlin.scripps.edu/soap/metlin.wsdl")
Error in parse(text = paste(txt, collapse = "\n")) :
<text>:1:29: unexpected input
1: function(x, ..., obj = new( ‚
^
> pubchem<-processWSDL("http://pubchem.ncbi.nlm.nih.gov/pug_soap/pug_soap.cgi?wsdl")
Error in parse(text = paste(txt, collapse = "\n")) :
<text>:1:29: unexpected input
1: function(x, ..., obj = new( ‚
^
On 20 Jul 2011, at 01:54, Benton, Paul wrote:
> Dear all,
>
> I've been trying on and off for the past few months to get SSOAP to work with chemspider. First I tried the WSDL file:
>
> cs<-processWSDL("http://www.chemspider.com/MassSpecAPI.asmx?WSDL")
> Error in parse(text = paste(txt, collapse = "\n")) :
> <text>:1:29: unexpected input
> 1: function(x, ..., obj = new( ‚
> ^
> In addition: Warning message:
> In processWSDL("http://www.chemspider.com/MassSpecAPI.asmx?WSDL") :
> Ignoring additional <service><port> ... elements
>
> Next I've tried using just the pure .SOAP to call the database.
>
> s <- SOAPServer("http://www.chemspider.com/MassSpecAPI.asmx")
> csid<- .SOAP(s, "SearchByMass2", mass=89.04767, range=0.01,
> action = I("http://www.chemspider.com/SearchByMass2"),
> xmlns = c("http://www.chemspider.com"), .opts = list(verbose = TRUE))
>
> This seems to work and gives back a result. However, this result isn't the right result. It's seems to have converted the mass into 0. When I run the similar program in perl I get the correct id's. So this isn't a server side problem but SSOAP. Any thoughts or suggestions on other packages to use?
> Further infomation about the SeachByMass2 method and it's xml that it's expecting.
> http://www.chemspider.com/MassSpecAPI.asmx?op=SearchByMass2
>
> Cheers,
>
>
> Paul
>
>
> PS Placing a fake error in the .SOAP code I can look at the xml it's sending to the server:
> Browse[1]> doc
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <SOAP-ENV:Body>
> <ns:SearchByMass2 xmlns:ns="http://www.chemspider.com">
> <ns:mass>89.04767</ns:mass>
> <ns:range>0.01</ns:range>
> </ns:SearchByMass2>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
More information about the R-help
mailing list