Steffen Neumann
2010-Jun-22 06:56 UTC
[R] SSOAP fails with .types[[1]] : subscript out of bounds
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
Steffen Neumann
2010-Jun-22 08:02 UTC
[R] SSOAP fails with .types[[1]] : subscript out of bounds
On Tue, 2010-06-22 at 08:56 +0200, Steffen Neumann wrote:> 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.So I got a bit further, the reason for the error is that the WSDL *does not have* any <wsdl:types>...</wsdl:types>, and I guess that's because <wsdl:message ...> has as parameter something as simple as <wsdl:part name="data" type="xsd:string"/> (where "data" is a certain XML document itself, conforming to BioMoby conventions.) So, if XMLSchema:::processSchemaTypes() does not find any custom/embedded type definitions, is it possibe to "inject" those from the http://www.w3.org/2001/XMLSchema.xsd into genSOAPClientInterface() instead ? Or would I use something different than genSOAPClientInterface() in first place ? Or did I get something completely wrong ? Yours, Steffen -- 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
Apparently Analagous Threads
- Working cludge [Re: SSOAP fails with .types[[1]] : subscript out of bounds]
- SSOAP: arguments passed as
- help with SSOAP (can't find working examples)
- XMLSchema:::processSchemaTypes() fails with XMLSchema.xsd [was: SSOAP fails with .types[[1]] : subscript out of bounds]
- SSOAP Parameter Structures: Nested Arrays