libds and col2 are only populated once validation passes, so the "Missing inputs from iwant" abort - which tested those macro variables - fired for any invalid payload and hid the specific reason. It now tests whether the request carried rows at all, leaving Invalid libds / Invalid col to report the value. The service still refuses the same requests; only the message changes. The matching tests carried two faults of their own: getcolvals.test.4 sent its libds through single quotes so the libref itself was invalid, and getdiffs / getrawdata expected "Invalid table" for cases their own field names.