[R] SSOAP fails with .types[[1]] : subscript out of bounds

Steffen Neumann sneumann at ipb-halle.de
Tue Jun 22 08:56:57 CEST 2010


Hi,

I am trying to create a BioMoby client in R using SSOAP.
BioMoby is a normal SOAP web service, with request 
and response messages wrapped in BioMoby XML dialect.

Since the particular WSDL I am having problems with 
is autogenerated and used similarly by *many* services,
it would be quite important to a) fix SSOAP or 
b) fix the WSDL generator. 

I am a bit lost how to continue debugging here, 
any clues or help to get me going ?

Thanks in advance,
Yours,
Steffen

The code:

library(SSOAP)
w = processWSDL("http://biomoby.org/services/wsdl/ipb-halle.de/MassBank_Instruments")
iface = genSOAPClientInterface(def = w, verbose=TRUE)

The output and system info:

> library(SSOAP)
> 
> w = processWSDL("http://biomoby.org/services/wsdl/ipb-halle.de/MassBank_Instruments")
> iface = genSOAPClientInterface(def = w, verbose=TRUE)
Operation MassBank_Instruments 
Error in .types[[1]] : subscript out of bounds
> 
> traceback()
4: paste(" .elementFormQualified", .elementFormQualified, sep = " = ")
3: paste("function(", paste(c(sapply(names(.operation at parameters), 
       convertToSName), paste("server = .defaultServer, .convert = ", 
       converter, ", .opts = list(...), ...")), collapse = ",\n\t "), 
       paste(",\n\t nameSpaces = ", ifelse(is.na(nameSpaces), nameSpaces, 
           simple.dQuote(nameSpaces))), if (insertSoapHeader) ", .soapHeader = NULL", 
       ")\n{\n", fixes[1], "\t .SOAP(server, .operation at name, ", 
       "\n\t\t", dotArgs, if (length(.operation at parameters)) ", " else "", 
       "\n\t\t", "action = .operation at action, ", "\n\t\t", "xmlns = .operation at namespace, ", 
       "\n\t\t", ".types = .operation at parameters, ", "\n\t\t", ".convert = .convert,", 
       "\n\t\t", ".header = .header,", "\n\t\t", ".opts = .opts ", 
       if (!is.na(.operation at use["input"]) && .operation at use["input"] == 
           "literal") ",\n\t\t .literal = TRUE", ", nameSpaces = nameSpaces,", 
       paste(" .elementFormQualified", .elementFormQualified, sep = " = "), 
       if (insertSoapHeader) ", .soapHeader = .soapHeader", ")\n", 
       fixes[2], "\n}", sep = "")
2: createOperationDefinition(i, server, def at types, env, nameSpaces, 
       addSoapHeader)
1: genSOAPClientInterface(def = w, verbose = TRUE)
> sessionInfo()
R version 2.10.1 (2009-12-14) 
x86_64-pc-linux-gnu 

locale:
 [1] LC_CTYPE=en_GB.utf8       LC_NUMERIC=C             
 [3] LC_TIME=en_GB.utf8        LC_COLLATE=en_GB.utf8    
 [5] LC_MONETARY=C             LC_MESSAGES=en_GB.utf8   
 [7] LC_PAPER=en_GB.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=C      

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

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

loaded via a namespace (and not attached):
[1] RCurl_1.3-0     XML_3.1-0       XMLSchema_0.1-4

-- 
IPB Halle                    AG Massenspektrometrie & Bioinformatik
Dr. Steffen Neumann          http://www.IPB-Halle.DE
Weinberg 3                   http://msbi.bic-gh.de
06120 Halle                  Tel. +49 (0) 345 5582 - 1470
                                  +49 (0) 345 5582 - 0
sneumann(at)IPB-Halle.DE     Fax. +49 (0) 345 5582 - 1409



More information about the R-help mailing list