473,857 Members | 1,830 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

SOAPpy and callback

Hello,

I'm trying to find how to use a callback in a SOAP client using SOAPpy.
Does SOAPpy have to manage it, or does Python include some API to do
it?

Thanks a lot.
Fabien

Oct 12 '06 #1
9 1788
fa***********@g mail.com schrieb:
Hello,

I'm trying to find how to use a callback in a SOAP client using SOAPpy.
Does SOAPpy have to manage it, or does Python include some API to do
it?
I've never seen any callback mentioned in SOAP. Are you sure this is
possible with any SOAP implementation, at least standard-wise?

Diez
Oct 13 '06 #2
SOAP standard doesn't provide any callback, and it looks like SOAPpy
doesn't too.
I remember using callbacks with Javascript and SOAP in Web pages. I was
just wondering if there could be the same with Python.

Thanks for your answer.

Oct 13 '06 #3
fa***********@g mail.com schrieb:
SOAP standard doesn't provide any callback, and it looks like SOAPpy
doesn't too.
I remember using callbacks with Javascript and SOAP in Web pages. I was
just wondering if there could be the same with Python.
How that? I seriously doubt that, it would mean that the server would be
able to issue an request on its own to the browser - a technical
impossibility in current browser implementations .

Just because you used a callback inside a js-soap-implementation that
works with deferreds or something similar doesn't mean that the soap
itself knew callbacks.

Diez
Oct 13 '06 #4
"Diez B. Roggisch" <de***@nospam.w eb.dewrote in message
news:4p******** ****@uni-berlin.de...
fa***********@g mail.com schrieb:
>Hello,

I'm trying to find how to use a callback in a SOAP client using SOAPpy.
Does SOAPpy have to manage it, or does Python include some API to do
it?

I've never seen any callback mentioned in SOAP. Are you sure this is
possible with any SOAP implementation, at least standard-wise?

Diez
This is most definitely possible, in fact it is the basis for a new
asynchronous data collection standard for semiconductor equipment, Interface
A (replacing the ancient SECS/GEM interface, originally designed to work
over RS-232). However, it is a major pain to implement.

As you suggest, you cannot do this from a simple browser or pure SOAP
client. To support SOAP callbacks, the client must also itself be a SOAP
server. The client sends its own callback server's URL to the primary
server, and when callbacks are needed, they are sent to that callback URL.
This really does get quite tricky, though. For one thing, the vagaries of
network identification make it unsure whether the URL composed by the client
for its callback is meaningful/accessible to the server.

In addition, if you are considering implementing this over the untrusted
internet, you should use SSL authentication both ways (although this further
complicates your client).

-- Paul
Oct 13 '06 #5
Paul McGuire schrieb:
"Diez B. Roggisch" <de***@nospam.w eb.dewrote in message
news:4p******** ****@uni-berlin.de...
>fa***********@g mail.com schrieb:
>>Hello,

I'm trying to find how to use a callback in a SOAP client using SOAPpy.
Does SOAPpy have to manage it, or does Python include some API to do
it?
I've never seen any callback mentioned in SOAP. Are you sure this is
possible with any SOAP implementation, at least standard-wise?
This is most definitely possible, in fact it is the basis for a new
asynchronous data collection standard for semiconductor equipment, Interface
A (replacing the ancient SECS/GEM interface, originally designed to work
over RS-232). However, it is a major pain to implement.

I don't call 'you can do that on your own' as standard-wise.

Certainly you can run two servers, make sure they are mutually
reachable, and client and server share the same process space.

But that is not a callback - it is, as you say, a PITA. And a massive
lack in the SOAP standard.

Regards,

Diez
Oct 13 '06 #6
"Diez B. Roggisch" <de***@nospam.w eb.dewrote in message
news:4p******** ****@uni-berlin.de...
Paul McGuire schrieb:
>"Diez B. Roggisch" <de***@nospam.w eb.dewrote in message
news:4p******* *****@uni-berlin.de...
>>fa***********@g mail.com schrieb:
Hello,

I'm trying to find how to use a callback in a SOAP client using SOAPpy.
Does SOAPpy have to manage it, or does Python include some API to do
it?
I've never seen any callback mentioned in SOAP. Are you sure this is
possible with any SOAP implementation, at least standard-wise?
This is most definitely possible, in fact it is the basis for a new
asynchronous data collection standard for semiconductor equipment,
Interface A (replacing the ancient SECS/GEM interface, originally
designed to work over RS-232). However, it is a major pain to implement.


I don't call 'you can do that on your own' as standard-wise.

Certainly you can run two servers, make sure they are mutually reachable,
and client and server share the same process space.

But that is not a callback - it is, as you say, a PITA. And a massive lack
in the SOAP standard.

Regards,

Diez
I like your term "standard-wise". Although there is nothing in the SOAP
"standard" that prevents this architecture, it is probably open for
discussion whether it is "wise."

As it happens, the client and server *don't* share the same process space -
they don't even share the same computer.

And it *does* work, I'm running the software on a couple of systems in my
office right now.

-- Paul
Oct 13 '06 #7
I like your term "standard-wise". Although there is nothing in the SOAP
"standard" that prevents this architecture, it is probably open for
discussion whether it is "wise."
Might stem from "standardweise" , the german word for something that is
part of a standard, or e.g. something always having this or that feature.
As it happens, the client and server *don't* share the same process space -
they don't even share the same computer.

And it *does* work, I'm running the software on a couple of systems in my
office right now.
Maybe we have a misunderstandin g here. I'm not a native speaker, so bear
with me.

In CORBA or RMI, there is a notion of an object/interface reference
passed around, which allows for callbacks in a natural way. Which is
AFAIK not the case in SOAP. Hell, they don't even know objects and
stateful connections...

That you obviously can define a system that needs several SOAP servers
to interact with each other - well, you could also perform inter process
communication using printed documents, some horses and either OCR or
data typists. But this isn't exactly inter process communication in my
book, albeit there certainly _are_ processes, _and_ communication :)

Diez
Oct 14 '06 #8
"Diez B. Roggisch" <de***@nospam.w eb.dewrote in message
news:4p******** ****@uni-berlin.de...
Maybe we have a misunderstandin g here. I'm not a native speaker, so bear
with me.
That's okay, I'll type very, very slowly. :)
In CORBA or RMI, there is a notion of an object/interface reference passed
around, which allows for callbacks in a natural way. Which is AFAIK not
the case in SOAP. Hell, they don't even know objects and stateful
connections...
Are you confusing SOAP with REST? The standard I refer to defines a set of
WSDL files that can be crunched to build implementation bindings for C#,
Boo, Java, etc. (Unfortunately, not Python - there is some issue with SOAPpy
that will not handle the input WSDL.) These bindings do model the remote
interface bindings as objects, and stateful connections and sessions are
very much part of the standard. If you like, you can download the WSDL
files at http://dom.semi.org/web/wstandards.nsf/supmaterials.

It is true, the implementation of the callback in SOAP is quite crude, as it
exposes the callback as an endpoint wrapped around a URL string. Not very
object-y at all - but then think back to CORBA again, and many systems did
something similar by passing around names bound to objects in a nameserver,
or just cut to the chase and shipped IOR's around directly.
That you obviously can define a system that needs several SOAP servers to
interact with each other - well, you could also perform inter process
communication using printed documents, some horses and either OCR or data
typists. But this isn't exactly inter process communication in my book,
albeit there certainly _are_ processes, _and_ communication :)
About 10 years ago, the standards body for semiconductor process integration
*was* using IDL to define process interfaces, and defining CORBA
implementation bindings. Unfortunately, the CORBA learning curve was too
much, and the implementations were too expensive (at the time; today ACE and
omniOrb are reasonable platforms). The group today went with SOAP, defining
a set of WSDL files to serve as the standard interface definition, in place
of the CORBA IDL of yore.

And what you describe might still be a step up from the RS-232-based system
in place today (instituted in the 70's, upgraded to ethernet in the late
80's, but still limited to encoded ASCII and point-to-point connections).

I would definitely agree that working with callbacks in SOAP sometimes feels
like an unnatural act. But it is clearly an interprocess communication, and
it does have an object model to its language bindings. Any Rube Goldberg
aspects to SOAP are neatly buried in the code generated from the WSDL.

-- Paul


Oct 14 '06 #9
Ok guys, thanks for the lesson! I'm probably not going to try to
implement this solution. However, I've learned a lot!

Oct 15 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
2751
by: Vivek | last post by:
Hi, Can anyone provide me with sample code that will allow me to use SOAPpy with a WSDL file using HTTP basic authentication? The only thing I've been able to find on the net is SOAPpy.URLopener. However, I am unclear what the relationship is between SOAPpy.URLopener and SOAPpy.WSDL is. Is it as straightforward as this? > from SOAPpy import WSDL
0
1888
by: Harry George | last post by:
I'm trying to setup a SOAPpy service under xinetd. Has someone done this sort of thing? Didn't find it from google searches or documentation. This is probably a sockets-level issue, but I was hoping someone in python land had done this with SOAPpy before. The server works fine as simple SOAP server and client pair on localhost. But when I try to put it under xinetd, it fails. Using "xinetd -d" I can see it is failing due to address...
0
1951
by: elsarfhem | last post by:
I have a problem with soappy when i try to send a python dictionary... i send something like this {'1':2,'3':4} and it returns something like this {'1':, '3':4} function on the server is simply an echo: def echo(arg): return arg i post the soap message, it may be useful... *** Incoming HTTP headers **********************************************
0
2309
by: Bartas | last post by:
Hi, I'am writting a simple SOAP client in python (2.4) using SOAPpy lib. I've met with this problem: when I want to send a list of complex type using some method from WebService(java,WAS), I'v got an exception:
0
1798
by: Sameer Deshpande | last post by:
Hi, I am using python SOAPpy module to call a web service. Call to web service gets executed successfully. I am facing a problem if the call to WS results into redirect. I get "HTTPError: <HTTPError 302 Moved Temporarily>" If I enable the debug info, I do get the new redirected url. How do I divert my WS request to new url?
0
1017
by: benboals | last post by:
Note: this is in reply to a message from August 2 which i found searching for help on my own problem. I couldn't seem to reply to it, but a friend suggested that simply using the same subject would put it in that thread. In case he's wrong, i quoted the previous comments . Odd-R. wrote: > I use the following piece of code to contact a webservice, > and read a wsdl file. > > from SOAPpy import WSDL > from SOAPpy import URLopener
0
1348
by: linuxprog | last post by:
hi all i'm building a webservice client with soappy when i send some informations it's returns an error here is the informations that generates the error var = SOAPpy.structType() var._addItem("code", u"XysZjd") var._addItem("value", 1) when i send the var variable SOAPpy prints this
0
1984
by: pion | last post by:
Hello I'm trying to make a web service client in python, and so to start out, I found this simple example that are supposed to parse an wsdl file using SOAPPy. I'm using Windows and got SOAPPy installed using the Enthought Python Distribution. I've tried several wsdl files and commenting out parts of the code etc. but I just can't twist my head around what's the problem here. Any help would be greatly appreciated. soappyTest.py: from...
1
6001
by: Christof Winter | last post by:
I am trying to use a webservice with SOAPpy: import SOAPpy intact_wsdl = "http://www.ebi.ac.uk/intact/binary-search-ws/binarysearch?wsdl" intact_serv = SOAPpy.WSDL.Proxy(intact_wsdl) The resulting error message is posted below. If I understand it right, XMLSchema.py complains about the imported XSD namespace being the same as the existing targetNamespace.
0
10711
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10394
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9549
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7940
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5774
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5971
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4592
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4191
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3215
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.