[MOBY-dev] Calling Moby from R / SSOAP
Paul Gordon
gordonp at ucalgary.ca
Fri May 9 14:00:24 UTC 2008
Hi Steffen,
Yes, there is no XML Schema for Moby WSDL, because we allow inheritence
at the tag level, which would make such a schema impossible. So you
would need to create an R library that creates the Moby XML message
envelope, and send that string-encoded (as well as a parser for
receiving). While I'm quite familiar with R (I rewrote part of RMA), I
haven't used any XML parsing facilities, so I can't provide any advice
there...
Regards,
Paul
sneumann wrote:
> Hi again,
>
> I am currently figuring how to call Moby Services manually
> using the R client package SSOAP:
>
> Creating the service object works fine:
>
> wsdl = "http://.../axis/services/myservice?wsdl"
> service <- processWSDL(wsdl)
>
> but the SSOAP has some kind of WSDL compiler
> which wants to create R classes as stubs to the SOAP:
>
> client = genSOAPClientInterface(def=service, verbose = TRUE)
>
> and this breaks, AFAICS because SSOAP is trying to map input
> and output types for the method calls. An example for the KEGG WSDL
> is given below.
>
> Do I see it correctly that the SSOAP stub writing has to be changed,
> so that in the absence of <type> definitions I pass the arguments
> as encoded stuff in the body ? Has anybody experience with that,
> or could give me (specific) links into documentation ?
>
> Yours,
> Steffen
>
> from KEGG.wsdl:
>
> <definitions name="KEGG_v4.1" ... targetNamespace="SOAP/KEGG">
> <types>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="SOAP/KEGG">
> <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
> <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
> <!-- common variable -->
> <xsd:complexType name="ArrayOfstring">
> ...
>
> translates into:
>
> str(KEGG at types)
> Formal class 'SchemaCollection' [package "SSOAP"] with 1 slots
> ..@ .Data:List of 1
> .. ..$ :Formal class 'SchemaTypes' [package "SSOAP"] with 1 slots
> .. .. .. ..@ .Data:List of 9
> .. .. .. .. ..$ :List of 2
> .. .. .. .. .. ..$ name : chr "ArrayOfstring"
> .. .. .. .. .. ..$ definition:Formal class 'ArrayType' [package "SSOAP"] with 8 slots
> .. .. .. .. .. .. .. ..@ elementType : chr "xsd:string"
> .. .. .. .. .. .. .. ..@ elType :Formal class 'PrimitiveSOAPType' [package "SSOAP"] with 5 slots
> .. .. .. .. .. .. .. .. .. ..@ fromConverter:function ()
> .. .. .. .. .. .. .. .. .. ..@ toConverter :function (x, ...)
> .. .. .. .. .. .. .. .. .. ..@ name : chr "string"
> .. .. .. .. .. .. .. .. .. ..@ ns : chr "xsd"
> .. .. .. .. .. .. .. .. .. ..@ nsuri : chr "http://www.w3.org/2001/XMLSchema"
> .. .. .. .. .. .. .. ..@ dims : int NA
> .. .. .. .. .. .. .. ..@ fromConverter:function ()
> .. .. .. .. .. .. .. ..@ toConverter :function ()
> .. .. .. .. .. .. .. ..@ name : chr "ArrayOfstring"
> .. .. .. .. .. .. .. ..@ ns : chr(0)
> .. .. .. .. .. .. .. ..@ nsuri : chr(0)
> .. .. .. .. .. ..- attr(*, "class")= chr "WSDLTypeDescription"
> ...
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> MOBY-dev mailing list
> MOBY-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/moby-dev
>
>
> !DSPAM:60005,48243206109502520622991!
>
More information about the MOBY-dev
mailing list