#2 Refactorings and a new transport.

open
nobody
SOAPpy (14)
5
2005-02-03
2001-07-09
No

Hello,

Here are some patches to SOAPpy097.

The patch to SOAP.py does two things:

1. Refactors SOAPRequestHandler: adds methods
dumpHeadersIn/Out,
dumpSOAPIn/Out, etc., and modifies do_POST to use these
methods.

2. Adds class HTTPTransport_pc that enables HTTP/1.1
persistent connections.
(HTTPTransport_pc works fine replacing HTTPTransport
totally.)

The patch to echoClient.py modifies it to use
HTTPTransport_pc. echoClient.py
now works with contrib/soap_handler.py (multiple SOAP
calls over one TCP
connection) and continues to work with echoServer.py
(one TCP connection per
SOAP call).

The patch to contrib/soap_handler.py updates it to
match this release's
SOAPRequestHandler.do_POST, and adds echoServer's SOAP
callables to allow
contrib/soap_handler.py to service echoClient.py.

You'll notice that SOAPRequestHandler.do_POST and
soap_handler.continue_request
are essentially the same. IMHO, the combination smells,
and opportunities
abound for further refactorings.

I find the objmap/funcmap stuff objectionable: down
that path lies the
housekeeping complexities of CORBA/Zope ORB- or EJB
container-implementations.
I prefer the eff-bot's approach in his xmlrpclib - have
the server directly
implement methods that correspond to XML-RPC (in this
case SOAP) callables.
Simple and direct, just like Python.

Cheers.

- Pheng Siong, ngps@post1.com

Discussion

  • Ng Pheng Siong

    Ng Pheng Siong - 2001-07-09
     
  • Anonymous - 2001-10-24

    Logged In: YES
    user_id=36737

    Thanks for your patch and/or bug for SOAPpy.
    That package is currently on hiatus (extended vacation)
    right now. If you'd like to get involved in active maintenance,
    please contact me at rsalz@users.sf.net
    /r$

     
  • Fred L. Drake, Jr.

    • labels: --> SOAPpy
     

Log in to post a comment.