I'm looking for a particular solution for distributed communication in a system. It should have functionality similar to RMI or DCOM, that is it should allow me to obtain references to remote objects and call methods on them (esp. it should allow bidirectional communication between components, callbacks for event notifications), but it should be based on SOAP (XML) and should run on HTTP protocol (desirably). There is similar solution on MS .Net platform - .Net remoting can be based on XML messages sent between components, but I want it to run on Java. The problem with SOAP-based communication examples I have seen is that usually they need a web server to run, and the communication is rather one-way (request-response, no possibility of doing a callback), besides there is no notion of object references. What I'm looking for is a lightweight XML-based remoting protocol that could be incorporated into system components and would not require running web server.
What's wrong with using HTTP to invoke methods on objects/resources? Sure, you've only got a small set of methods to work with, but the Web found them pretty useful. 8-)