axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Hawkins <HAWKI...@uk.ibm.com>
Subject Re: Application, Session or Request scope
Date Mon, 27 Mar 2006 12:38:01 GMT
It is not in the roadmap at the moment.





"Antoine Galataud" <antoine.galataud@gmail.com> 
27/03/2006 12:26
Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org>


To
"Apache AXIS C User List" <axis-c-user@ws.apache.org>
cc

Subject
Re: Application, Session or Request scope






Ok I see. Is it in the Axis C++ roadmap to implement such feature ? It is 
currently well implemented by Axis Java, with this famous scope 
(application/session/request) parameter defined in the deploy.wsdd file... 
It works very well, and it keeps all the web service objects up during all 
the application life (when setting in application scope) 

Thanks

2006/3/27, John Hawkins <HAWKINSJ@uk.ibm.com>:

Now you're talking about maintaining a session. 

There is now way to do this "for-free". You could do it by setting cookies 
in the server-code. These cookies could be used to retrieve state from a 
db next call. 

Cookies are supported, at some level, in the client but not the server - 
to my knowledge. (they are just transport properties) You might have to 
add some minimal logic into the server-code to do it. 







"Antoine Galataud" <antoine.galataud@gmail.com> 
24/03/2006 13:48 


Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org>


To
"Apache AXIS C User List" <axis-c-user@ws.apache.org> 
cc

Subject
Re: Application, Session or Request scope








Ok, so how can I retrieve previously loaded object of my library ? For the 
moment, when I call initService(), I initialize a business object. If I 
call my second web service method notifyDictionary() in the same process 
(the main of my client call this 2 methods), it works (like a session 
scope). Now if call only initService(), then stop my client, then call 
notifyDictionary() in a different client, it fails, because the business 
object has been destroyed. 

How can I work around this ? Isn't it the feature "application scope" must 
provide ? Because the only thing I see, is that every server side objects 
are destroyed when the client is destroyed.

2006/3/24, John Hawkins <HAWKINSJ@uk.ibm.com >: 

The dlopen subroutine loads the module specified by FilePath into the 
executing process's address space. Dependents of the module are 
automatically loaded as well. If the module is already loaded, i t is not 
loaded again, but a new, unique value will be returned by the dlopen 
subroutine. 




"Antoine Galataud" <antoine.galataud@gmail.com > 
24/03/2006 13:14 


Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org >



To
"Apache AXIS C User List" <axis-c-user@ws.apache.org > 
cc

Subject
Re: Application, Session or Request scope










First call to the method initService() is in log-1.txt, the second call 
(exactly the same, some seconds later) is in log-2.txt.
I tried with <parameter name="scope" value="application"> of server.wsdd 
file in some other tests, it didn't change anything.

Thanks

2006/3/24, John Hawkins <HAWKINSJ@uk.ibm.com >: 

Could you send me the trace pls. 


"Antoine Galataud" <antoine.galataud@gmail.com > 
24/03/2006 11:31 


Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org >



To
"Apache AXIS C User List" <axis-c-user@ws.apache.org > 
cc

Subject
Re: Application, Session or Request scope












The logs are clear : it does a loadlib each time a method is called

2006/3/24, John Hawkins <HAWKINSJ@uk.ibm.com >: 

I've not got time to look into this problem but it should not load the 
libs but it might be creating new instances of the objects. Can you 
confirm which? 
"Antoine Galataud" <antoine.galataud@gmail.com > 
24/03/2006 10:33 


Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org >



To
"Apache AXIS C User List" <axis-c-user@ws.apache.org > 
cc

Subject
Re: Application, Session or Request scope














Hi,

Could you confirm that it is a normal behavior that axis engine load libs 
each time a method is called on ? Or is it a mistake in my configuration ?

Thanks

2006/3/23, Antoine Galataud < antoine.galataud@gmail.com >: 
Yes that's it. 


2006/3/23, John Hawkins < HAWKINSJ@uk.ibm.com>: 

OK, 

so let me repeat it back to you so we're clear. 

You tested and found that the library is loaded and unloaded on every 
method call? 
"Antoine Galataud" <antoine.galataud@gmail.com > 
23/03/2006 09:14 


Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org >



To
"Apache AXIS C User List" <axis-c-user@ws.apache.org > 
cc

Subject
Re: Application, Session or Request scope
















No, I didn't test it yet. But I realized, reading again Adrian mail and 
looking at wrapper class that it can't be my solution (or just a part of). 
What I'm saying is that the wrapper class is contained in the web service 
library, and is used to initialize and stop the web service with init and 
fini methods. But this doesn't resolve my problem: I want the library 
loaded and run until server shuts down. So what I need is the scope 
parameter of server.wsdd file correctly handled (I tested that it doesn't 
work), so the library is loaded at first request and stays up.

2006/3/23, John Hawkins < HAWKINSJ@uk.ibm.com>: 

Sorry, I'm not clear what you are saying - are you saying that you have 
tested this and the library is loaded each time the service is requested? 
"Antoine Galataud" <antoine.galataud@gmail.com > 
22/03/2006 17:18 


Please respond to
"Apache AXIS C User List" <axis-c-user@ws.apache.org >



To
"Apache AXIS C User List" <axis-c-user@ws.apache.org > 
cc

Subject
Re: Application, Session or Request scope


















Hi,

this a very great manner to initialize my business objects before
getting a request, but does this help to have the web service library
loaded once and not unloaded when method returns ?
I mean, for the moment I can't call a method without having Axis
loading the web service library (at each call). I need it to load at
first time, then be up until server (apache) shuts down.
What you are saying is that library is loaded at first invocation and
unloaded when server shuts down. But in my case, library is loaded
each time the service is requested !

Thanks
2006/3/21, Adrian Dick <adrian.dick@uk.ibm.com >:
> Hi,
>
> There is already a mechanism in place to do this.
>
> As part of WrapperClassHandler, from which the generated wrapper class 
is
> inherited, there are the init and fini methods.
> These methods are called respectively as the service library is loaded 
(ie:
> first invocation of service) and unloaded (ie: server shutdown).
>
> As these methods are virtual, you can override these within the 
generated
> wrapper class, to do the initialization and clearup activities you 
require.
>
>
> One word of warning, although this has been designed to work in this
> manner, it hasn't (so far) been tested.
>
> Please let us know how you get on with trying this.
>
> Regards,
> Adrian
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com )
>
>
> "Antoine Galataud" <antoine.galataud@gmail.com > wrote on 21/03/2006
> 12:43:45:
>
> >
> > Sorry, I haven't been really clear with what I wanted to do. I'll
> > try to clarify my thoughts a little :
> >
> > I get a web service library, that handles the web service technical
> > part and access to business objects. But my business part is heavy
> > to initialize, and I want to do it only once, so when a first
> > request come to the web service, the back end service starts and
> > replys, then any other request doesn't involve a back end service 
start.
> >
> > So what I want to do is, as axis java does, define an application
> > scope for the web service and get the service running until container
> stops.
>
> > 2006/3/21, John Hawkins < HAWKINSJ@uk.ibm.com >:
> >
> > Antoine,
> >
> > Can I clarify what you're trying to do here? Are you trying to have
> > a stateful session with a particular instance of a service i.e. the
> > same service gets called twice? Or pass context across the-wire on
> > subsequent uses of the same stub?
> >
> > thanks,
> > John.
> >
> >
> >
>
> >
> > "Antoine Galataud" <antoine.galataud@gmail.com >
> > 21/03/2006 09:27
> >
> > Please respond to
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > To
> >
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > cc
> >
> > Subject
> >
> > Re: Application, Session or Request scope
> >
> >
> >
> >
> > Hi !
> >
> > I've found no way to solve my scope issue for the moment, I'm still
> > looking for a way to do this (application scope, not handlers).
> >
> > Thanks for any idea !
> >
> > 2006/3/16, Antoine Galataud < antoine.galataud@gmail.com >:
> > It doesn't work :
> >
> > in fact, I succeeded in getting a session scope, e.g I request the
> > service 2 times in the same main() client, but I can't have an
> > application scope. But I don't get the error I described in my
> > earlier mail, now it gives me nothing. And I'm talking about service
> > scope, I don't use any handler.
> >
> > Thanks for your answer
> >
> > 2006/3/16, John Hawkins <HAWKINSJ@uk.ibm.com >:
> >
> > I've just looked at this again and I'm not sure I understand your
> > question now!
> >
> >
> > If I look at your wsdd file it doesn't look correct to my thoughts
> > (is it the complete wsdd file?) e.g. this is a client sample wsdd file
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >
> > <deployment xmlns="http://xml.apache.org/axis/wsdd/ " xlmns:
> > C="http//xml.apache.org.axis/wsdd/providers/c">
> >
> >  <service name="Handler" provider="CPP:DOCUMENT" 
description="Handler">
> >
> >  <requestFlow>
> >
> >  <handler name="myClientHandlerReq"
> > type="<inst_dir>\samples\handlers\myClientHandler.dll">  <handler
> > name="myClientHandlerReq"
> > type="<inst_dir>\samples\handlers\myClientHandler.dll">
> >
> >  </handler>
> >
> >  </requestFlow>
> >
> >  <responseFlow>
> >
> >  <handler name="myClientHandlerRes"
> > type="<inst_dir>\samples\handlers\myClientHandler.dll">  <handler
> > name="myClientHandlerRes"
> > type="<inst_dir>\samples\handlers\myClientHandler.dll">
> >
> >  </handler>
> >
> >  </responseFlow>
> >
> >  </service>
> >
> >  </deployment>
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
> >
> > "Antoine Galataud" <antoine.galataud@gmail.com >
> > 16/03/2006 12:57
> >
> > Please respond to
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > To
> >
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > cc
> >
> > Subject
> >
> > Re: Application, Session or Request scope
> >
> >
>
> >
> >
> >
> >
> >
> > yes, i'm referring to the service scope. I saw in the doc that I
> > could set a scope for handlers in response/reauest flows, but I
> > didn't see anything about service.
> >
> > I'll try to set the scope also in client.wsdd, maybe it's what I'm
> missing.
> >
> > Thanks for any further comments/suggestions.
> >
> > 2006/3/16, James Jose <jamejose@in.ibm.com >:
> >
> > Hi,
> >
> >  We are running HandlerTest01 to HandlerTest10.  But here Antoine is
> > referring the scope of the service ..?
> >
> >
> > Regards
> > James
> > --------------------------------------------------
> > James Jose
> > Messaging Clients Team, WMQDDC
> > IBM Software Labs, India
> > Direct: 91-80- 25094331  Ext :2331
> > E-mail: jamejose@in.ibm.com 
> >
>
> >
> > John Hawkins < HAWKINSJ@uk.ibm.com >
> > 03/16/2006 17:50
> >
> > Please respond to
> > "Apache AXIS C User List"
> >
> > To
> >
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > cc
> >
> > Subject
> >
> > Re: Application, Session or Request scope
> >
> >
> >
>
> >
> >
> >
> >
> >
> >
> >
> > Well, service and global handlers should work for the client and I'm
> > surprised they aren't working for the server. Can you try it in the
> > client and see if you get the same results. James - what tests do we
> > run on handlers nowadays?
>
> >
> > "Antoine Galataud" <antoine.galataud@gmail.com >
> > 16/03/2006 11:38
> >
> > Please respond to
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > To
> >
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > cc
> >
> > Subject
> >
> > Re: Application, Session or Request scope
> >
> >
> >
> >
>
> >
> >
> >
> >
> >
> >
> >
> > So, is there any work around to get this feature working ?
> >
> > Thanks for your answer
> >
> > 2006/3/15, Antoine Galataud <antoine.galataud@gmail.com >:
> > Hum, seems scope is not yet correctly implemented (or tested) in 1.
> > 6a.n (solaris) release. Here is my server.wsdd :
> >
> > <service name="IAdminConfiguration" provider="CPP:RPC"
> > description="IAdminConfiguration Web Services">
> >     <parameter name="allowedMethods" value="notifyDictionaryReinit
> > initService"/>
> >     <parameter name="scope" value="application">
> >     <parameter name="className"
> > value="/home/antgalat/apache/webservices/libiadminconfig.so"/>
> > </service>
> >
> > If I do that I get this in the init logs :
> >
> > [15/03/2006 13:40:42:387 MET] 1 WSDDHandler > setScope
> @11cec8,"application"
> >
> > But if I invoke the service, it fails with :
> >
> > [15/03/2006 13:40:49:215 MET] 1 AxisWsddException >
> > AxisWsddException @ff0da988,7, <null>
> > [15/03/2006 13:40:49:215 MET] 1 AxisWsddException >
> > getMessageForExceptionCode @ff0da988,7
> > [15/03/2006 13:40:49:216 MET] 1 AxisWsddException <
> > getMessageForExceptionCode @ff0da988,"AxisWsddException:Requested
> > service not found"
> >
> > I also tested with request and session scopes, it failed too.
> >
> > 2006/3/9, John Hawkins < HAWKINSJ@uk.ibm.com >:
> >
> > I'll put it this way - it's not tested.
>
> >
> > "Antoine Galataud" <antoine.galataud@gmail.com >
> > 09/03/2006 14:23
> >
> > Please respond to
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > To
> >
> > "Apache AXIS C User List" <axis-c-user@ws.apache.org >
> >
> > cc
> >
> > Subject
> >
> > Application, Session or Request scope
> >
> >
> >
> >
> >
>
> >
> >
> >
> >
> >
> >
> >
> >
> > Hi !
> >
> > does Axis 1.6x handle scope ? I tried to add a scope="Application" in
> > my service declaration in server.wsdd, but it doesn't seem to work...
> >
> > Thanks
> > --
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> >
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen
> >
> >
> >
> >
> > --
> >
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen
> >
> >
> >
> > --
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen
> >
> >
> >
> > --
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen
> >
> >
> >
> > --
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen
> >
> >
> >
> > --
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen
> >
> >
> >
> > --
> > Antoine Galataud
> > antoine.galataud@gmail.com 
> > D?partement Architecture des Syst?mes d'Information
> > INSA - Rouen


--
Antoine Galataud
antoine.galataud@gmail.com 
D?partement Architecture des Syst?mes d'Information
INSA - Rouen




-- 
Antoine Galataud
antoine.galataud@gmail.com
D?partement Architecture des Syst?mes d'Information
INSA - Rouen 



-- 
Antoine Galataud
antoine.galataud@gmail.com 
D?partement Architecture des Syst?mes d'Information
INSA - Rouen 



-- 
Antoine Galataud
antoine.galataud@gmail.com
D?partement Architecture des Syst?mes d'Information
INSA - Rouen 



-- 
Antoine Galataud
antoine.galataud@gmail.com
D?partement Architecture des Syst?mes d'Information
INSA - Rouen 



-- 
Antoine Galataud
antoine.galataud@gmail.com
D?partement Architecture des Syst?mes d'Information
INSA - Rouen 




-- 
Antoine Galataud
antoine.galataud@gmail.com
D?partement Architecture des Syst?mes d'Information 
INSA - Rouen 



-- 
Antoine Galataud
antoine.galataud@gmail.com
Département Architecture des Systèmes d'Information
INSA - Rouen 

Mime
View raw message