Hi Lucasz,

There are a lot of examples in Spyne's examples directory.

https://github.com/arskom/spyne/blob/master/examples/helloworld_soap_suds_client.py

Those examples should not fail (the 3-line suds example does not have much room to fail anyway) so if you get a recursion error with suds, try using a different suds version.

Best,
Burak

On 07/12/12 00:56, Lukasz Szybalski wrote:


On Wed, Jul 11, 2012 at 3:38 PM, Alex <[email protected] <mailto:[email protected]>> wrote:

    Hi Lukasz,


    I have recently began using rpclib, and as a beginner - I think I
    will be able to provide some tips that will help you get started.


    First of all, it is not clear from your message what you are
    trying to do:
    - a client, i.e. connect to an existing server and call its
    functions, OR
    - a server, i.e. let others connect to your server and call your
    functions


    I think you want a client; in that case you should use suds:
    https://fedorahosted.org/suds/

    If you want to build a server, then rpclib/spyne is the right tool
    for the job. You can also give a try to Ladon - it is very
    friendly with beginners (I managed to set it up and create a
    server very quickly).

    Eventually I chose rpclib because Burak provided very fast
    feedback and because rpclib offered some features I needed.


    Using suds is very easy, I attached an example I use myself. It
    connects to a locally hosted SOAP server; the example assumes that
    I know the name of the function I want to call, and that I know
    all of its arguments - which I pass via a dictionary.

    Otherwise, you can also use the factory.create function, which
    will construct an object for you, and later you just fill in the
    values, like this:

    c = Client('http://localhost:7789/?wsdl')
    a = c.factory.create('ns1:PhysicalPersonDataRequest')
    a.lastName = u'Samurai'
    a.firstName = u'Jack'
    a.birthDate = u'1945-12-31'
    a.idnp = u'1234567890123'
    a.icSerial = u'A'
    a.icNumber = u'12345'

    result = c.service.RegisterPhysicalPerson(a)


    I hope this helps.


Problem with suds is this:
c = suds.client.Client('http://localhost:7789/?wsdl')
RuntimeError: maximum recursion depth exceeded while calling a Python object

Even if you increase the recursion limit to 10,000 or 100,000 it still fails later with "segmentation fault".

So rpclib is my only choice here. ZSI (wsdl2py) doesn't have this problem but I can't figure it out, so I was hoping rpclib would work for me, but I need example of client code.

1. service = someClientCode(url=h'ttp://example.com/LoginService.svc?wsdl <http://example.com/LoginService.svc?wsdl>') 2. request= RequestObjectforBelowfunction(Username='myuser',Password='mypassword')
3. response=service.GetSecurityKey(request)



Thanks,
Lucas




_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

Reply via email to