Question

i'm rather new to SOAP and web services and i tried to create working and stable SOAP environment. After some reading i decided to use suds client and soaplib server. I'm using python2.7 and i've installed suds and soaplib by using easy_install so it's rather default combination of programs. Operating system is newest Ubuntu 13.

I've created 2 scripts that are based on tutorial hello_world example : http://soaplib.github.io/soaplib/2_0/pages/helloworld.html

After some minor changes:

  • adding from soaplib.core.service import soap in server
  • adding name of service in hello_client = Client('http://localhost:7789/HelloWorldService?wsdl') in client

I got a working solution that allows me to run server (port is busy) and suds client gives me a returning info after use of say_hello function.

Problem is that i can't create new methods in this server using definition used in example. Even simple changing name from say_hello to say_hello2 gives me error : suds.MethodNotFound: Method not found: 'Application.Application.say_hello2'

Please help me to solve this issue :)

I was thinking about other thing too. sopalib seems inactive since 2010 and maybe here lies some problem? Maybe there are better, faster and more efficient solutions to SOAP connections than SUDS+soaplib? If so please advice me something.

Thanks for help Mike

Was it helpful?

Solution

Seems like problem is due to suds , cache

from suds.client import Client
hello_client = Client('http://localhost:7789/HelloWorldService?wsdl')

hello_client.options.cache.clear() #make this line

result = hello_client.service.say_hello2(...) # parameters inside 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top