SOAP Server with WSDL?

Ravi Teja webraviteja at gmail.com
Thu Dec 7 23:38:53 EST 2006


tobiah wrote:
> Actually, do I have to make a WSDL?  Do people hand write these, or
> are there tools?  I don't really need to publish an interface.  I just
> want some in house apps to communicate.

Java and .NET based tools can auto-generate WSDL from code. Python does
not have such because function definitions do not contain the type
information required for such a tool. However , you can grab a free
Java (Netbeans with Enterprise pack) or .NET (Visual Studio Express)
IDE (or just the respective SDK if you don't mind reading through the
docs), create a stub function, mark it as a WebMethod, let it generate
the WSDL and pass it to wsdl2py that comes with ZSI. This is a twisted
approach.

But you state that you don't need to publish an interface. If that is
the case, it can be as simple as this.

      import SOAPpy
      def hello():
	  return "Hello World"

      server = SOAP.SOAPServer(("localhost", 8080))
      server.registerFunction(hello)
      server.serve_forever()

Pasted from
http://pywebsvcs.sourceforge.net/soappy.txt

> I can't figure out if I want SOAP, or CORBA, or would it just be
> easier if I just starting opening sockets and firing data around
> directly.  Ideally, I'd like to share complex objects.  That's why
> I thought that I needed one of the above standards.

I posted a few days ago a simple guide to choosing a remoting
framework.
http://groups.google.com/group/comp.lang.python/tree/browse_frm/thread/f53221adfca5c819/58057e83c0ad7c27?rnum=1&hl=en&q=webraviteja&_done=%2Fgroup%2Fcomp.lang.python%2Fbrowse_frm%2Fthread%2Ff53221adfca5c819%2F3f056c5c87279aca%3Flnk%3Dgst%26q%3Dwebraviteja%26rnum%3D4%26hl%3Den%26#doc_3f056c5c87279aca

For *complex* objects, you need a stateful remoting mechanism. The
choice is Pyro if both the server and all the clients are written in
Python. Else, use CORBA or ICE with DMI. All of these are simple to use
for simple remote object invocations although distributed computing in
general does have a learning curve.

Ravi Teja.




More information about the Python-list mailing list