Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 306773

Summary: "timeout" on Web Services Explorer impacts development
Product: [WebTools] WTP Webservices Reporter: Roger <rogern>
Component: wst.wsAssignee: Mark Hutchinson <mahutch>
Status: CLOSED FIXED QA Contact: Keith Chong <keith.chong.ca>
Severity: normal    
Priority: P3 CC: david_williams, yenlu
Version: unspecifiedKeywords: plan
Target Milestone: 3.2 M7Flags: david_williams: pmc_approved+
keith.chong.ca: pmc_approved? (raghunathan.srinivasan)
keith.chong.ca: pmc_approved? (naci.dai)
keith.chong.ca: pmc_approved? (deboer)
keith.chong.ca: pmc_approved? (neil.hauge)
keith.chong.ca: pmc_approved? (kaloyan)
keith.chong.ca: review+
Hardware: PC   
OS: Windows XP   
Whiteboard: PMC_approved
Attachments:
Description Flags
Configuration file showing level/version of installed plugins
none
proposed patch
none
proposed patch v2 keith.chong.ca: iplog+

Description Roger CLA 2010-03-22 18:02:55 EDT
Build Identifier: Including the configuration files which show level/version of all plugins

I'm Roger with the Rational Developer for System z (RD/z) and opening this bug on behalf of our customer. The customer uses RDz extensively for testing SOAP services via the Web Services Explorer (WSE) component. With RDz 7.1 this works fine. However on RDz 7.5, if the steps take any length of time, clicking Go/submit, nothing whatsoever happens. The only way that the customer can recover from this is to completely close WSE and start the whole process again.                                          

Reproducible: Always

Steps to Reproduce:
Problem description                                                     
We use RDz extensively for testing SOAP services via the Web Services   
Explorer (WSE) component. The process involves:                         
1) Select the correct WSDL                                              
2) Add necessary Endpoint                                               
3) Populate test data                                                   
4) Click Go                                                             
5) Enter authentication Userid/Password                                 
6) Check result of test                                                 
7) Fix any problems                                                     
8) repeat steps 4, 6, 7.                                                
With RDz 7.1 this works fine. However on RDz 7.5, if step 7 takes any   
length of time, when I try clicking Go, nothing whatsoever happens. The 
only way that I can recover from this is to completely clse WSE and     
start the whole process again.
Comment 1 Roger CLA 2010-03-22 18:05:13 EDT
Created attachment 162727 [details]
Configuration file showing level/version of installed plugins
Comment 2 Mark Hutchinson CLA 2010-04-14 15:15:16 EDT
This session time out was added in bug 217723 to fix a memory leak, so I can't remove the timeout completely, but I can make it configurable.

This patch adds the hidden preference org.eclipse.wst.ws.explorer/sessionTimeout

This preference represents the session timeout of the web service explorer in minutes.  Entering a negative value will disable timeouts completely.  If the preference is not set the default is still 30 minutes.

This preference is not exposed through the user interface, but it can be set in two ways:
at the product level you can edit your plugin_customization.ini file to add the line: org.eclipse.wst.ws.explorer/sessionTimeout=<timeout value>

or at the workspace level you can add a line to this file (or create it if it does not exist)
<workspace>\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.wst.ws.explorer.prefs
that contains this line: sessionTimeout=<timeout value>
Comment 3 Mark Hutchinson CLA 2010-04-14 15:17:02 EDT
Created attachment 164877 [details]
proposed patch
Comment 4 Mark Hutchinson CLA 2010-04-14 15:19:29 EDT
Keith and/or Yen, could you review this proposed patch, and commit it to HEAD if it meets your approval?
Comment 5 Keith Chong CLA 2010-04-21 12:07:24 EDT
Marking as P1 since the adopter is requesting this change.
Comment 6 Mark Hutchinson CLA 2010-04-21 13:47:43 EDT
Created attachment 165610 [details]
proposed patch v2

It was requested that this also be settable in the config.ini.  If for any reason both a "hidden preference" and a config.ini property are both set, the config.ini property will take precedence.  The property to set in the config.ini is org.eclipse.wst.ws.exlorer.sessionTimeout

e.g. org.eclipse.wst.ws.exlorer.sessionTimeout=60
Comment 7 Mark Hutchinson CLA 2010-04-21 13:55:42 EDT
I changed a message property in the Web Services Explorer with this fix, so I think this might count as a UI change and would require PMC approval for M7.
I changed:
MSG_ERROR_SESSION_TIMED_OUT=This session of Web Service Explorer has timed out after 30 minutes of inactivity to free up memory resources.
to:
MSG_ERROR_SESSION_TIMED_OUT=This session of Web Service Explorer has timed out after %1 minutes of inactivity to free up memory resources.


1) Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such. 

This fix is being requested by an adopter product

2) Is there a work-around? If so, why do you believe the work-around is insufficient? 

There is currently no workaround

3) How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added? 

Manual testing

4) Give a brief technical overview. Who has reviewed this fix? 
What is the risk associated with this fix? 

Keith will review the fix.  This is very low risk.  This fix adds the ability to set the session timeout as a preference, or a config.ini property.  If the user does not explicitly set this option, then the default timeout remains at 30 minutes.
Comment 8 Keith Chong CLA 2010-04-21 20:22:26 EDT
Looks good.  I tested that the config.ini option works too.

Just a minor typo to the patch.  It should be org.eclipse.wst.ws.explorer.sessionTimeout

Will check this change in when this gets approved.
Comment 9 Keith Chong CLA 2010-04-21 23:57:40 EDT
Patch released for 3.2M7.
Comment 10 Mark Hutchinson CLA 2010-06-15 11:06:38 EDT
Closing