[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