import java.util.HashSet;
import java.util.Set;
+import org.apache.http.NoHttpResponseException;
import org.apache.log4j.Logger;
import org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration;
import org.springframework.remoting.support.RemoteInvocation;
protected RemoteInvocationResult doExecuteRequest(HttpInvokerClientConfiguration config,
java.io.ByteArrayOutputStream baos)
throws java.io.IOException,
- java.lang.ClassNotFoundException {
+ java.lang.ClassNotFoundException, NoHttpResponseException {
RemoteInvocationResult rir = fromCache(currentRemoteInvocation);
if(rir == null) {
if (!(currentRemoteInvocation.getMethodName() == null) && !(config.getServiceUrl() == null)){
// logger.info("Remote invoking : " + currentRemoteInvocation.getMethodName() + "@" + config.getServiceUrl());
}
- rir = super.doExecuteRequest(config, baos);
+ try{
+ rir = super.doExecuteRequest(config, baos);
+ }catch(Exception e){
+ if (e instanceof NoHttpResponseException){
+ throw e;
+ }
+ }
if(rir.getValue() != null && !rir.hasException()) {
if (currentRemoteInvocation == null){
logger.debug("return RemoteInvocationResult without caching" );