[Soap-Python] Exception: ServiceName has parameter numbers mismatching

Chris Austin chris at sydneysys.com
Wed Mar 30 18:15:29 CEST 2011


Hi Jonathan,

I wouldn't mind adding support for this input scheme.  However, I am
afraid that it will be some time before it can be addressed.  Also, I
prefer not include this in the 2.0 final that I am attempting to ship
in the next few weeks.  In the meantime, if you'd like to help with
the effort to implement this I'd welcome your contribution.

Again, I am sorry that I can't support your use case right now but.
I've created the ticket here:
https://github.com/soaplib/soaplib/issues#issue/17 . Please take a
look at it and comment as you find necessary.  I want to make sure
that I am capturing your idea correctly.




On Tue, Mar 29, 2011 at 6:59 AM, J.Fine <j.fine at open.ac.uk> wrote:
> Hi
>
> I wrote some code that seemed to me to be just fine and I got an exception from soaplib.  Just in case you're worried about the code, think about a situation where the input signature is quite complicated and is stored in another file, and all you want to do is write a stub function that returns a fixed value, or a range of fixed values.  In this situation you might want to try different input schemes but for the stub return a fixed value.
>
> The background to this is that I want to decouple the various aspects of the information that goes into soaplib so that I have more flexibility.  I've had a look at the source that raises this error.
>    https://github.com/soaplib/soaplib/blob/1_0/src/soaplib/service.py#L64
>
>
> Here's the example.
>
> $ cat examples/woozle.py
> from soaplib.service import rpc, DefinitionBase
> from soaplib.serializers.primitive import String
> from soaplib.wsgi import Application
>
>
> class Tiny(DefinitionBase):
>
>    @rpc(String, _returns=String)
>    def doit(self, *argv):
>        return 'this is a string'
>
>
> application = Application([Tiny],  'namespace')
>
>
> $ python examples/woozle.py
> Traceback (most recent call last):
>  File "examples/woozle.py", line 13, in <module>
>    application = Application([Tiny],  'namespace')
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/wsgi.py", line 89, in __init__
>    self.build_schema()
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/wsgi.py", line 165, in build_schema
>    inst = self.get_service(s)
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/wsgi.py", line 205, in get_service
>    return service(http_req_env)
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/service.py", line 260, in __init__
>    _public_methods_cache[cls] = self.build_public_methods()
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/service.py", line 337, in build_public_methods
>    descriptor = func(_method_descriptor=True, clazz=self.__class__)
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/service.py", line 124, in explain_method
>    in_message = get_input_message(ns)
>  File "/usr/local/lib/python2.6/dist-packages/soaplib-1.0.0_beta8-py2.6.egg/soaplib/service.py", line 66, in get_input_message
>    f.func_name)
> Exception: doit has parameter numbers mismatching
>
>
> --
> Jonathan
>
>
>
> --
> The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
>
> _______________________________________________
> Soap mailing list
> Soap at python.org
> http://mail.python.org/mailman/listinfo/soap
>


More information about the Soap mailing list