The remote library API is based on the XML-RPC standard and is fully compliant (no vendor extensions). The standard provides no way of passing null values unfortunately. The Remote client and the Java server both automatically convert null/None values to empty strings (see the
User Guide).
With the current behavior, you would have to work around the issue by something like converting an empty string into null inside the Java keyword. You could also declare the argument type as Object, and pass in ${0} to be a representation of null. In this case your keyword would receive the int or Integer 0 when the incoming type would otherwise be a String.
here's what using the magical number 0 might look like...
public void javaKeyword(Object val) {
String newVal = null;
if (val instanceof String) {
newVal = (String) val;
} else if (!Integer(0).equals(val)) {
raise new IllegalArgumentException("val must be a string or 0")
}
...