It looks like the "org.jboss.remoting.transport.http.HTTPMetadataConstants" section in Chapter 5 of the Remoting Guide is somewhat misleading. Unlike the other constants in that section, NO_THROW_ON_ERROR is used only on the client side. It is only after an Exception has been returned from the server that the value of NO_THROW_ON_ERROR is consulted. What you want to do is pass NO_THROW_ON_ERROR as follows:
Client client = new Client(...); client.connect(); Object param = ... ; HashMap metadata = new HashMap(); metadata.put(HTTPMetadataConstants.NO_THROW_ON_ERROR, "true"); client.invoke(param, metadata);
Sorry for the confusion.