This is the function in solidity that calls the remote contract, and the same contract has a getter which is supposed to return the same string. I'm a bit new to solidity so I'm not exactly sure what's wrong here.
function set(address contractAddress, string memory val) public {
(bool success, ) = address(contractAddress).call(abi.encodeWithSignature("set(string)", val));
require(success, "Failed");
}