Do you have control over the authentication web service?  If so, you could
have it add a a digital signature of some sort of auth. request token
(provided as a header from the initial web service) in the header section
upon successful authentication.  The initial web service would then validate
the signature to ensure that the user has been successfully authenticated.
Here's the idea...

1.  Webservice1 receives a request, places a header in the message with a
generated auth. request token.
2.  Webservice1 forward the request to webservice2.
3.  Webservice2 authenticates the user based upon whatever means necessary
(http header, soap headers, etc.).  Then, it places a new header on the
message containing a digital signature of the auth. request token.  Then,
forwards back to webservice1.
4.  Webservice1 validates the signature based upon the initial value of the
auth. request token and performs the service if it is valid.

Does this sound valid?  The only problem here is that you have to make sure
you keep the private key private for the authentication service and make the
public key available to the actual service service.  But, if you wanted to
do it all with one server, you could use a handler to perform the
authentication (that's what I'm doing currently).

----- Original Message -----
From: "Shobha Rani Jagathpal" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, January 08, 2003 8:32 AM
Subject: RE: Intermediate nodes in request path


> Hi,
> You are correct.
> But how will the handler terminate the flow if the authentication fails
> and pass authentication succes message for the execution of webservice.
>
> Regards,
> Shobha Rani J
>
>
>
> > -----Original Message-----
> > From: Krishnakumar B [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, January 08, 2003 6:54 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: Intermediate nodes in request path
> >
> >
> > Hi
> >
> > If i understand ur problem right
> >
> > Call WebService1 -> All requests are routed to WebService2 on
> > different server for authentication -> Return to webservice1
> >
> > The request handler can act as a Client for webservice2 on
> > different server. Its like any normal web service client. (
> > Using Call interface in handler can invoke webservice 2) The
> > result of webservice2 returns to the handler. The handler can
> > then invoke webservice1.
> >
> > Hope this helps
> >
> > Regards
> > Krishnakumar B
> >
> >
> > -----Original Message-----
> > From: Shobha Rani Jagathpal [mailto:[EMAIL PROTECTED]]
> > Sent: Wednesday, January 08, 2003 6:38 PM
> > To: [EMAIL PROTECTED]
> > Subject: RE: Intermediate nodes in request path
> >
> >
> > Thank you. I will try this with handler now.
> > Could you please tell me if this will work
> >
> > WSDD for webservice1 running in localhost:8080
> >
> > <deployment xmlns="http://xml.apache.org/axis/wsdd/";
> >     xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
> >
> >   <service name="TestMyService" provider="java:RPC">
> >
> >   <requestFlow>
> >    <handler type="authenticator"/>
> >   </requestFlow>
> >
> >     <parameter name="allowedMethods" value="*"/>
> >     <parameter name="className"
> >       value="TestMyService"/>
> >     <parameter name="scope" value="Application"/>
> >   </service>
> > </deployment>
> >
> > WSDD for webservice2 running in localhost:8070
> >
> > <deployment xmlns="http://xml.apache.org/axis/wsdd/";
> >
> > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
> >
> >    <handler name="authenticator"
> >       type="AuthenticateHandler">
> >     <parameter name="wsdlURL"
> >       value="http://localhost:8070/axis/AuthenticatorService.wsdl"/>
> >     <parameter name="namespace"
> >       value="http://localhost:8070/axis/AuthenticatorService.wsdl"/>
> >     <parameter name="serviceName" value="AuthenticatorService"/>
> >     <parameter name="portName" value="auth"/>
> >   </handler>
> >
> >  <service name="AuthenticatorService" provider="java:RPC">
> >
> >   <responseFlow>
> >    <handler type="authenticator"/>
> >   </responseFlow>
> >
> >   <parameter name="className" value="AuthenticatorService"/>
> >   <parameter name="allowedMethods" value="*"/>
> >   <parameter name="scope" value="application"/>
> >
> >  </service>
> >
> > </deployment>
> >
> >
> > I am not sure how will the handler be recongized by first
> > webserver to contact another webserver. If I am out of way,
> > please let me know the way to proceed.
> >
> > Regards,
> > Shobha Rani J
> >
> >
> >
> > > -----Original Message-----
> > > From: Krishnakumar B [mailto:[EMAIL PROTECTED]]
> > > Sent: Wednesday, January 08, 2003 6:21 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: RE: Intermediate nodes in request path
> > >
> > >
> > > Hi
> > >
> > > You can use Axis ( Request/Response Handlers ) also for this.
> > > But BPEL is a more powerful tool for doing web service
> > orchestration.
> > >
> > > Regards
> > > Krishnakumar B
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Shobha Rani Jagathpal [mailto:[EMAIL PROTECTED]]
> > > Sent: Wednesday, January 08, 2003 6:18 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: RE: Intermediate nodes in request path
> > >
> > >
> > > Thank you for the immediate response.
> > > Can't apache axis be used for this?
> > >
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Krishnakumar B [mailto:[EMAIL PROTECTED]]
> > > > Sent: Wednesday, January 08, 2003 6:15 PM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: RE: Intermediate nodes in request path
> > > >
> > > >
> > > > Hi
> > > >
> > > > You can achieve this using BPEL. ( Its a flow language
> > where u can
> > > > call web services in sequence/parallel ) and the response can be
> > > > returned to the client.
> > > >
> > > > See IBM Alphaworks for BPEL Engine
> > > > Also www.collaxa.com
> > > >
> > > > Krishnakumar B
> > > >
> > > > -----Original Message-----
> > > > From: Shobha Rani Jagathpal [mailto:[EMAIL PROTECTED]]
> > > > Sent: Wednesday, January 08, 2003 6:12 PM
> > > > To: [EMAIL PROTECTED]
> > > > Subject: Intermediate nodes in request path
> > > >
> > > >
> > > > Hi,
> > > >  I need a way where by before the webservice1 is invoked another
> > > > webservice2 should be invoked. Both the webservices reside in
> > > > different servers and response the client gets should
> > depend on the
> > > > response of webservice2.
> > > >
> > > > Regards,
> > > > Shobha Rani J
> > > >
> > > >
> > > >
> > >
> >
>

Attachment: smime.p7s
Description: application/pkcs7-signature

Reply via email to