Progress Webservice: First call fails after appserver restar

Posted by Stefan Marquardt on 27-Feb-2015 03:39

How it can be fixed that the first webservice call generate a network error after a restart of the Openedge database/appserver?
The next and further call work fine

All Replies

Posted by Srinivas Munigala on 27-Feb-2015 06:42

Could you provide more information like

What is the error?

Where and in which log file?

How are you calling the WebService?

Which client are you using?

How do you restart database/appServer?

Posted by Mark Davies on 27-Feb-2015 06:51

This is actually a very good question. Something that I have seen since OE10 - never got a really good answer. And as far as I know this is only seen on the WSA (SOAP) based web services - for REST it works first time round.

We got around this issue to always try more than once when we called the web service - just to get it to become available.

Looking forward to a good answer on this one...

Posted by Stefan Marquardt on 27-Feb-2015 06:56

This is the first reply, tested with a SOAP-UI.

It works, I stop the appserver and start again (asbman) -> then the first call fails.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="schemas.xmlsoap.org/.../" xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema">

  <SOAP-ENV:Body>

     <SOAP-ENV:Fault>

        <faultcode>SOAP-ENV:Server</faultcode>

        <faultstring>An error was detected while executing the Web Service request. (10893)</faultstring>

        <detail>

           <ns1:FaultDetail xmlns:ns1="urn:soap-fault:details">

              <errorMessage>A network error occurred executing the Web Service application. (10899)</errorMessage>

              <requestID>7ff01504dcfad085:-1506265f:14bb57ad063:-7fff#71</requestID>

           </ns1:FaultDetail>

        </detail>

     </SOAP-ENV:Fault>

  </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Posted by Stefan Drissen on 27-Feb-2015 07:03
Posted by David Cleary on 27-Feb-2015 07:27

There is no good answer for this. While it might seem obvious that the client should just resubmit the request, the client does not know if the original request made it to the server and only the response failed. It has to do with the way Java implemented sockets.
 
The only solution we have today, other than to handle this situation in your application, is to move to PAS for OpenEdge. Because the server is treated as a single component, this scenario can not happen.
 
Dave
 
[collapse]
From: Mark Davies [mailto:bounce-markdprosoftitcoza@community.progress.com]
Sent: Friday, February 27, 2015 7:52 AM
To: TU.OE.Deployment@community.progress.com
Subject: RE: [Technical Users - OE Deployment] Progress Webservice: First call fails after appserver restart
 
Reply by Mark Davies

This is actually a very good question. Something that I have seen since OE10 - never got a really good answer. And as far as I know this is only seen on the WSA (SOAP) based web services - for REST it works first time round.

We got around this issue to always try more than once when we called the web service - just to get it to become available.

Looking forward to a good answer on this one...

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by bronco on 03-Mar-2015 04:53

This has been an issue ever since the session free model was added. The session-free is advertised as connection-less, but consedering the issues it's not entirely connection-less after all. The link Stefan mentoined states "It was determined that the Progress Product is functioning as designed.", which may be true, but it's still odd for an connection-less protocol and it raises some questions about the design.

Anyway, it shouldn't be a problem anymore if you switch to PASOE, because then you can't switch off the AppServer independently from the WSA/REST adapter anymore...

This thread is closed