Jim Gallacher
jpg at jgassociates.ca
Sun Aug 13 15:02:19 EDT 2006
Robert Synnott wrote: > On 8/11/06, justind <justind at ussonet.net> wrote: >> I posted on the ZSI board to, thought I better here just to cover all >> the bases. >> >> Has anyone used ZSI with mod_python? If so, there is an example of how >> to use ZSI with mod_python in ZSI's documentation. >> >> This feels like a "I'm being stupid and forgetting/overlooking >> something obvious" type of problem. >> >> From the example below, there is a module called MyHandler that has 3 >> functions (hello,echo and average). You expose these functions through >> the dispatch.AsHandler() function in the mod_python code. >> Suppose that I only wanted to expose the hello and echo functions, but >> not the average function. I want to keep the average function in the >> module because some other function(s) I will make later will use it. >> >> (Section 2.1.3). >> >> The following is a complete example of a simple handler. The soap >> operations are implemented in the MyHandler module: >> >> def hello(): >> return "Hello, world" >> >> def echo(*args): >> return args >> >> def average(*args): >> sum = 0 >> for i in args: sum += i >> return sum / len(args) >> >> Dispatching from within mod_python is achieved by passing the >> aforementined MyHandler module to |dispatch.AsHandler()|. The following >> code exposes the operations defined in MyHandler via SOAP: >> >> from ZSI import dispatch >> from mod_python import apache >> >> import MyHandler >> mod = __import__('encodings.utf_8', globals(), locals(), '*') >> mod = __import__('encodings.utf_16_be', globals(), locals(), '*') >> >> def handler(req): >> dispatch.AsHandler(modules=(MyHandler,), request=req) >> return apache.OK >> >> >> >> >> _______________________________________________ >> Mod_python mailing list >> Mod_python at modpython.org >> http://mailman.modpython.org/mailman/listinfo/mod_python >> > > I don't THINK the underscore trick works for mod_python. You really > have two options; you could put the offending functions in a separate > module, or you could write your own handler (if you want to do the > whole wsdl2py, wsdl2dispatch thing you'll have to do that anyway, > currently). > Rob I was actually suggesting that it was a ZSI trick, as it certainly is not a mod_python trick (except when using publisher). What I was suggesting was that ZSI seems to be doing some introspection of MyHandler, and *it* might be choosing to treat methods prepended with an underscore as private. But then, I know absolutely nothing about ZSI. :) Jim
|