Experts
In our application Front End ( Java ) communicates to DCE ( Distributed Computing Env) on HP-UX using SOAP as a middle layer. RPC ( Romote Procedure Calls) are using to connect to DCE and fetch the data.There is a SOAP Server Binary which is listening to a perticular port no calls the DCE functions using RPC calls , it has been observed that after few days if SOAP Server is not recycled ( Restarted) , the RPC calls go in Hang state. No response from RPCs when a particular call is made.
We confirmed this when we ran the netstat command as below
Before Recycling( ReStarting SOAP Server)
$ netstat -an | grep -i 6071
tcp 0 0 169.163.162.117.6071 153.40.20.206.44244 CLOSE_WAIT
tcp 0 0 169.163.162.117.6071 153.40.20.206.44048 CLOSE_WAIT
tcp 0 0 169.163.162.117.6071 153.40.20.206.43758 CLOSE_WAIT
tcp 0 0 169.163.162.117.6071 153.40.20.206.46381 CLOSE_WAIT
tcp 0 0 169.163.162.117.6071 153.40.20.206.48319 FIN_WAIT_2
tcp 0 0 169.163.162.117.6071 153.40.20.205.46382 FIN_WAIT_2
tcp 0 0 169.163.162.117.6071 153.40.20.206.45873 CLOSE_WAIT
tcp 0 0 *.6071 *.* LISTEN
After ReStarting SOAP Server
After Recycling
netstat -an | grep -i 6071
tcp 0 0 169.163.162.117.6071 153.40.20.205.46382 FIN_WAIT_2
tcp 0 0 *.6071 *.* LISTEN
tcp 0 0 169.163.162.117.6071 153.40.20.206.49772 FIN_WAIT_2
The workaround is to inform the Front End ( Java ) that there is a hang.
Is there any way where I can catch the CLOSE_WAIT status if I execute the netstat command in my SOAP Server code ?
Is there any way to execute and caputure the CLOSE_WAIT and then throw an exception
Thank you
Start Free Trial