axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Fremantle" <pzf...@gmail.com>
Subject Re: [AXIS2] catch all SOAP requests for SOAP-CORBA-bridge
Date Mon, 24 Jul 2006 13:33:41 GMT
Christian

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.

Paul

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

http://bloglines.com/blog/paulfremantle
paul@wso2.com

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

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


Mime
View raw message