Monday, 22 July 2013

IBM BPM Standard 7.5.1 - Updating Web Services Timeout


I'm trying to be a good citizen, and avoid editing files other than 100Custom.xml.

To that end, I wished to override the default SOAP-based web services timeout from the default of -1 ( to  infinity and beyond ) to a more sensible value of, say, 120 seconds.

However, I was struggling with the stanza, in terms of where to put this: -

<--Timeout in seconds to wait when invoking WebService using SOAPConnector
  Use -1 to disable-->
<timeout>120</timeout>

in 100Custom.xml.

This Technote is useful, but suggests that one should ( quelle horreure ) edit 99Local.xml: -


This is what I initially tried: -

...
</server>

<webservices merge="mergeChildren">
<timeout>120</timeout>
</webservices>


</properties>

and: -

...
<webservices merge="mergeChildren">
<timeout>120</timeout>
</webservices>

</server>


</properties>

but neither worked for me - the timeout value resolutely stuck at -1, as evidenced in TeamWorksConfiguration.running.xml following a restart of my JVM.

This is where I'm editing 100Custom.xml as it's a standalone / single server environment: -

 Directory of C:\profiles\ProcCtr01\config\cells\BPM75Node01Cell\nodes\BPM75Node01\servers\server1\process-center\config

07/18/2013  10:56 AM    <DIR>          .
07/18/2013  10:56 AM    <DIR>          ..
07/18/2013  11:25 AM             1,692 100Custom.xml
11/18/2011  02:05 PM             3,307 console.xml
11/18/2011  02:05 PM             2,133 HTTPEventListener.properties
11/18/2011  02:11 PM             3,077 log4j.xml
11/18/2011  02:05 PM    <DIR>          system
               4 File(s)         10,209 bytes
               3 Dir(s)   4,372,209,664 bytes free


Thanks to some excellent teaming from the IBM BPM Practitioner community, I was recommended to use: -


</server>

<webservices>
<timeout merge="replace">120</timeout>
</webservices>

</properties>
… 

and, eventually: -

</server>

<webservices merge="mergeChildren">
<timeout merge="replace">120</timeout>
</webservices>

</properties>
… 

The recommendation to use merge="mergeChildren" was to avoid inadvertently replacing the entire <webservices> XML node with just the timeout override entry.

Which is VERY good advice.

Bottom line, following the restart, my web services will now timeout after 2 minutes rather than NEVER timing out, which is nice.


No comments: