We have an application that is executing web-service functions on an external web-service host. Each invocation of these functions can be slow to respond - they can take 5 to 30 seconds.
What we observe for our calling Powerbuilder application, is that while the application is executing the web-service proxy function stub synchronously then the application's processor (whatever CPU our application is being executed on) runs with 100% utilization. If the invocation runs for more than 5 seconds, then Windows starts marking our window as hung by appending the text "(Not Responding)" to the title - presumably because our application stops processing messages for longer than Window's internal threshold permits.
Once the web-service call completes our application returns back to a normal state.
Our application is Citrix hosted, and while our application has not had applications windows reported as not-responding on Windows-Server 2003 this does occur on Windows-Server 2012. My assumption is the Windows algorithm that detects hung applications has been tweaked over time.
So firstly - is the high CPU utilization that we observe the "normal" expected Powerbuilder behavior when calling a web-service?
And secondly if this is normal behavior, what is the suggested way of re-factoring so that long-running web-service calls can be made without Windows reporting that our application has hung?
Our current Powerbuilder version is 2017R3 Build 1880.