On 07/16/11 10:23, [email protected] 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

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

Reply via email to