Hi Christian,

While I prefer the synapse approach, you could also write a message receiver in Axis2 that acts as a SOAP-to-CORBA bridge.

But I think the Synapse approach is more elegant :-)



On 7/24/06, Saminda Abeyruwan <samindaa@gmail.com> wrote:
Hi Christian,

More info is available on XSD2Java at

Do buzz us for any assistance. SOAP-to-CORBA bridge is a great addition to Synapse mediation framework.


On 7/24/06, Paul Fremantle < pzfreo@gmail.com> wrote:

The mediator gets the MessageContext object. In that object you have
access to the raw message, and any context (such as the To: address,
Action, etc).

Basically if you can convert from the XML to the CORBA call then you
can write a mediator in Synapse. The easiest thing to start with would
be to define a standard XML syntax that represents the CORBA call, and
then use the Axis tool XSD2Java to map into Java objects, and then
call the CORBA service. Once you have that its very easy to integrate
into Synapse.


On 7/24/06, Christian Galbavy < slater2000@gmx.at> wrote:
> Hi,
> I want to change axis2 to catch all SOAP calls, get the service name and method name and all params as java types and invoke corba calls with them.
> I described it in the message below and got the answer from Ajith Ranabahu.
> So I have taken a look at the axis source code and the Synapse project.
> I only want to implement this SOAP-Corba-Bridge for SOAP body calls, so no SOAPActions. As I can figure out by now, I have two options:
> .) Take the axis2 source and change the approbriate handlers and dispatchers:
> I think I would change the SOAPMessageBodyBasedDispatcher, especially the findService and findOperation methods.
> Then I had a look at the different MessageReceivers and there at the invokeBusinessLogic methods. I could not figure out which special Receiver would be called through a normal SOAP body message (service-name, method-name and params in SOAP body). And I also think there will be problems with the getTheImplementationObject-method.
> So I would need a dummy-service for each SOAP call with a dummy operation for returns for the Dispatcher-Class. But I do not know which consequences this would have for the MessageReceivers and the parsing of the params.
> Can you give me some tips?
> .) The other option would be to use Synapse. I had a short look at the project but could not really figure out how it is working. As I can figure out so far I would have to write a Mediator to make my Corba calls from there. Can somybody explain the functionality of the Mediators to me. When the server receives a SOAP message, I do not want axis to look for the service but give the service name, the method name and the params in Javatypes to my interface, which invokes my Corba method. The CORBA method looks for the approbriate corba object and its method, maps the Javatypes to Corba types and finds the return type, invokes the call, gets the return value, maps the type back into a Javatype. Then the return value should be returnes by a SOAP response.
> Can you give me some help, if this functionality is possible with a Mediator, and how I can start an implementation.
> Sorry for the cross posting to two mail groups and thanks for all your help.
> Regards
> Christian
> -------- Original-Nachricht --------
> Datum: Sun, 23 Jul 2006 16:22:09 +0530
> Von: "Ajith Ranabahu" < ajith.ranabahu@gmail.com>
> An: axis-user@ws.apache.org
> Betreff: Re: [AXIS2] catch all SOAP requests
> > Hi,
> > I can suggest something like this using Axis2
> >
> > 1. Override the dispatchers to dispatch all service calls to a 'Corba
> > message receiver' - in effect an Axis2 server that has a single real
> > service
> > 2. Write the 'Corba message receiver' in such a way that it takes the
> > request (which is a message context by now) and calls the corba thing
> > in the relevant way
> >
> > You would need to checkout the Apache Synapse project, they do a
> > similar thing with Axis2
> >
> > Ajith
> >
> > On 7/23/06, Christian Galbavy < slater2000@gmx.at> wrote:
> > > Hy,
> > >
> > > I want to write a JAVA program which does the following:
> > > I want catch all SOAP requests to my server instead to invoke methods of
> > services. So I want to take each message, parse the service name, the
> > method name and get all params and there types.
> > > I was thinking to do this with a servlet. So all SOAP requests are send
> > to this servlet. I tried to take the HttpServletRequest and parse the XML
> > document manually. Then I get the service name, the method name and all the
> > params and invoke a Corba call, the service name maps to a Corba Object,
> > the method name maps to the Corba method and the same for the params.
> > >
> > > The problem is, that I cant use AXIS, because every SOAP call has to
> > come to one program. So perhaps it is possible to use AXIS to parse the SOAP
> > call and get all params and put my code before the method of a service is
> > looked for and invoked.
> > >
> > > Do you have a tip for me how to start with this task?
> > > Thanks a lot for your help!
> > >
> > > Regards
> > > Christian
> --
> "Feel free" 10 GB Mailbox, 100 FreeSMS/Monat ...
> Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail
> --
> "Feel free" 10 GB Mailbox, 100 FreeSMS/Monat ...
> Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-dev-help@ws.apache.org

Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair


"Oxygenating the Web Service Platform", www.wso2.com

To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org