More details about this scenario:
1) I tested the above scenario using 30-minute and 80-minute request (by making timeout=90-minute). Both works.
2) In case you have problems with the above configuration, please check your network settings. for example, firewall settings and IPSec settings.
3) In case there is still problem after checking networking, please collect tracing data. The following is how to add tracing to HPC 2008 SOA
1. add tracing to service host on each compute node.
Edit file %CCP_HOME%\bin\HpcServiceHost.exe.config. section system.diagnostic
<system.diagnostics>
<sources>
<source name="Microsoft.Hpc.HpcServiceHosting" switchValue="All">
<listeners>
<add name="Console" />
<add name="ServiceHostTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="\\<HEADNODE>\CcpSpoolDir\host.svclog" type="System.Diagnostics.XmlWriterTraceListener"
name="ServiceHostTraceListener">
<filter type="" />
</add>
<add type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="Console" traceOutputOptions="DateTime, ThreadId">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
2. add tracing to broker nodes.
Edit file %CCP_HOME%\bin\HpcWcfBroker.exe.config. section system.diagnostic:
<system.diagnostics>
<sources>
<source name="Microsoft.Hpc.ServiceBroker" switchValue="All">
<listeners>
<add name="Console">
<filter type="" />
</add>
<add name="WSLBTraceListener">
<filter type="" />
</add>
<remove name ="Default" />
</listeners>
</source>
</sources>
<sharedListeners>
<add type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="Console" traceOutputOptions="DateTime, ThreadId">
<filter type="" />
</add>
<add initializeData="\\<HEADNODE>\CcpSpoolDir\broker.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="WSLBTraceListener" traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>