[R] SSOAP: arguments passed as

Duncan Temple Lang duncan at wald.ucdavis.edu
Fri May 9 23:20:50 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Hi Steffen.

~  Yes, the SSOAP WSDL processor can't handle that at present (thanks for the example).
In this particular case, things are quite simple as it is getting stuck when dealing with
the return type  and this is just a string.  So if we just let that type through
when there is no context/types in which to resolve it, all is fine.
(We need another slight change to not try to coerce an argument of anyType in the generated R
function.)  I made this small changes and there is a new version of the SSOAP package in
the pre-release area of the Omegahat repository

~   http://www.omegahat.org/SSOAP_0.4-7.tar.gz

and hopefully that will do what you need or get you further along that path.


Since there is only one method involved an alternative to fixing the genSOAPClientInterface()
function, you could just create the .SOAP() call by hand.
That is all the genSOAPClientInterface() is taking care for you, so you can call the .SOAP()
function directly and since the input is an XML blob, you'll have to be dealing
with the details anyway.

~ HTH,
~  D.



sneumann wrote:
| Hi,
|
| I have a SOAP service, provided by BioMoby
| which I'd like to call via SSOAP.
|
| My service breaks during genSOAPClientInterface()
| 	
| 	genSOAPClientInterface(def=service, verbose = TRUE)
| 	Operation MassBank_Simple_2
| 	Error: Cannot resolve SOAP type in empty context
|
| Problem seems to be that there are no <types> defined in the WSDL,
| and that the service passes input/output as a single XML BLOB
| in the body (full WSDL below):
|
|          <wsdl:input name="MassBank_Simple_2Request">
| 		<wsdlsoap:body encodingStyle="..." namespace="msbi"
|          </wsdl:input>
|
| Any ideas ? Would I have to hack genSOAPClientInterface()
| or are there simpler ideas ? Alternatively, what changes
| would be needed to the WSDL ?
|
| Yours,
| Steffen
|
| <?xml version="1.0" encoding="UTF-8"?>
| <wsdl:definitions targetNamespace="http://msbi.ipb-halle.de/axis/services/MassBank_Simple_2"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://msbi.ipb-halle.de/axis/services/MassBank_Simple_2"
xmlns:intf="http://msbi.ipb-halle.de/axis/services/MassBank_Simple_2"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
| <!--WSDL created by Apache Axis version: 1.4
| Built on Apr 22, 2006 (06:55:48 PDT)-->
|    <wsdl:message name="MassBank_Simple_2Response">
|       <wsdl:part name="MassBank_Simple_2Return" type="soapenc:string"/>
|    </wsdl:message>
|    <wsdl:message name="MassBank_Simple_2Request">
|       <wsdl:part name="data" type="xsd:anyType"/>
|    </wsdl:message>
|    <wsdl:portType name="MassBank_Simple_2Impl">
|       <wsdl:operation name="MassBank_Simple_2" parameterOrder="data">
|          <wsdl:input message="impl:MassBank_Simple_2Request" name="MassBank_Simple_2Request"/>
|          <wsdl:output message="impl:MassBank_Simple_2Response" name="MassBank_Simple_2Response"/>
|       </wsdl:operation>
|    </wsdl:portType>
|    <wsdl:binding name="MassBank_Simple_2SoapBinding" type="impl:MassBank_Simple_2Impl">
|       <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
|       <wsdl:operation name="MassBank_Simple_2">
|          <wsdlsoap:operation soapAction=""/>
|          <wsdl:input name="MassBank_Simple_2Request">
|             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://ipb_halle.de" use="encoded"/>
|          </wsdl:input>
|          <wsdl:output name="MassBank_Simple_2Response">
|             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://msbi.ipb-halle.de/axis/services/MassBank_Simple_2" use="encoded"/>
|          </wsdl:output>
|       </wsdl:operation>
|    </wsdl:binding>
|    <wsdl:service name="MassBank_Simple_2ImplService">
|       <wsdl:port binding="impl:MassBank_Simple_2SoapBinding" name="MassBank_Simple_2">
|          <wsdlsoap:address
location="http://tomcat1.ipb-sub.ipb-halle.de:8180/axis/services/MassBank_Simple_2"/>
|       </wsdl:port>
|    </wsdl:service>
| </wsdl:definitions>
|
|
| ------------------------------------------------------------------------
|
| ______________________________________________
| R-help at r-project.org mailing list
| https://stat.ethz.ch/mailman/listinfo/r-help
| PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
| and provide commented, minimal, self-contained, reproducible code.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIJMAx9p/Jzwa2QP4RAjjXAJ4hm5ppEhXBRBMRzm+7TGuFtMK2NwCfVLbx
ibRc7WEpM9VmoxkT0fJjqY8=
=TcAG
-----END PGP SIGNATURE-----



More information about the R-help mailing list