You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Christian Galbavy <sl...@gmx.at> on 2006/07/24 14:11:35 UTC

Fwd: [AXIS2] catch all SOAP requests for SOAP-CORBA-bridge

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" <aj...@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 <sl...@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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org

-- 


Echte DSL-Flatrate dauerhaft für 0,- Euro*. Nur noch kurze Zeit!
"Feel free" mit GMX DSL: http://www.gmx.net/de/go/dsl

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