XML + SOAP + Webservices

  • Thread starter Johan =?iso-8859-1?Q?Segern=E4s?=
  • Start date
J

Johan =?iso-8859-1?Q?Segern=E4s?=

I'm put on building a system in Python and I haven't used either webservices,
SOAP or Python so I'm a bit lost.

This system will require callback functions, should I use Python thru Apache
for this or build my own listening daemon? Use module for Apache or do I make
some kind of CGI script in Python?

Where do I start? What lib do I use for XML? SOAP? Webservices?

Is there any nice project/tutorial for this so I can give it a taste and try
to estimate how much time I need and stuff.

Help needed. =)

Thanks.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCqCY6KsypvPn9t1ARAs2cAJ9plps01VHR57e21E3DROggwSW23wCgjxuF
MnwFnVMDD63XLKiz5+CroKk=
=UfhS
-----END PGP SIGNATURE-----
 
D

Diez B. Roggisch

Johan said:
I'm put on building a system in Python and I haven't used either webservices,
SOAP or Python so I'm a bit lost.

This system will require callback functions, should I use Python thru Apache
for this or build my own listening daemon? Use module for Apache or do I make
some kind of CGI script in Python?

Where do I start? What lib do I use for XML? SOAP? Webservices?

Is there any nice project/tutorial for this so I can give it a taste and try
to estimate how much time I need and stuff.

For first tries, you could go and check SimpleXMLRPCServer - it's in the
docs. Then there is twisted, and some others I believe. Running throgh
an apache doesn't buy you much AFAIK - so just skip it for now for the
additional complexity it involves.


Callbacks aren't supported by any xml-based RPC I'm aware of - which
doesn't mean you can't do it, but _how_ to do it is up to you: You need
a way to pass a server the necessary callback information. It basically
consists of the url to talk to. That by the way is no limitation of
python, but of xmlrpc, soap and whatever.

And last but not least I found that whenever I tried to make python SOAP
implementations work with more than trivial WSDLs I (or the
implementations...) failed - maybe you can tweak it into working by
handtayloring the calls and proxies - but that is tedious, errorprone
and certainly not the road somone want's to go. I personally always used
apache axis in conjunction with jython to fulfill my SOAP needs in
python. But then again, it's not python anymore - at least not when you
need some cpython-only lib s.

regarding the .NET stuff - don't expect much. Just because it uses a
wire-protocol that is well known doesn't mean that the infrastructure
build on top of it is easy to grasp - and it's not integrated in
anything but itself. That's true for the JAVA-world either, btw.

Sooo - concluding remarks could be:
- soap and python - not so good
- if you can, use some other RPC to interface .NET - like IPython, or
win32, or even corba if you can.


Regards,
Diez
 
J

Johan =?iso-8859-1?Q?Segern=E4s?=

a way to pass a server the necessary callback information. It basically
consists of the url to talk to. That by the way is no limitation of

But of course, a little slip in my thoughts.
Sooo - concluding remarks could be:
- soap and python - not so good
- if you can, use some other RPC to interface .NET - like IPython, or
win32, or even corba if you can.

Basically, don't write the implementation to talk to the SOAP/WDSL-services
in Python, find something else and this 'something else' produces an XML file
which I then parse with Python?

win32 isn't an option, we only have *nix-boxes around and we plan to stay
that way.

Very good answer btw, thanks alot.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCqD7gKsypvPn9t1ARAiINAJ43dRmX9aLuZo9ROXtwUkueiSe0IACfbF/I
ozOKx2mC88CM97WfygE3qi0=
=dgKv
-----END PGP SIGNATURE-----
 
D

Diez B. Roggisch

Basically, don't write the implementation to talk to the SOAP/WDSL-services
in Python, find something else and this 'something else' produces an XML file
which I then parse with Python?

For example - or better, instead of passing XML use an RPC mechanism
Python is good at - e.g. corba. So you could do some java
middleware-thing here, actually done in jython for convenience. Still,
not the nicest of architectures - but a goable way.
win32 isn't an option, we only have *nix-boxes around and we plan to stay
that way.

But can't you run some service on the .net-boxes? And what's about mono?
There is an .net based python out there - afaik even two: One is written
to be running on .net (and thus might be able to be running on mono,
interfacing .net-components remotely), one "only" gives access to .net
objects - so you could use that to create teh necessary middleware.

Diez
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top