[Soap-Python] [soaplib] Method not found problem

Burak Arslan burak.arslan at arskom.com.tr
Sun Jul 17 12:15:34 CEST 2011


On 07/16/11 10:23, antoine.humbert at free.fr wrote:
> To solve the problem, I simply replaced the following line in the
> build_schema method of Application class:
> <                    method_name = "{%s}%s" % (self.get_tns(), method.name)
> by
> So, the problem is just in the Application class which consider the
> MethodContext.method_name as the "real" service method name whereas
> the DefinitionBase consider it as the input message name.
>>                    method_name = "{%s}%s" % (method.in_message.get_namespace(), method.in_message.get_type_name())
> so that the method_name used in the Application class (throught the MethodContext.method_name build from the body.tag) has the same meaning as the method name passed to Service.get_method.
>
> I've been testing this patch with service method with the default in_message name, and after overriding the in_message_name : it's OK.
>

Hi Antoine,

method.in_message.get_namespace() is not ready at that point -- if you
print it, you'll see that it's the DEFAULT_NS class. As the
auto-generated messages always belong to the targetNamespace, you should
use self.get_tns() there instead of in_message.get_namespace().

I've done some improvements related to those parts of the code, and i've
also added a test. have a look at
http://github.com/arskom/rpclib/network . what do you think?

best,
burak



More information about the Soap mailing list