All you need is to make the client the owner of his weapon on the server (using SetOwner function).
Initially, the client only owns its player controller. Then the controller becomes the owner of the Pawn.
Initially, the client can only send RPCs to the server from these actors.
To allow the client to send RPCs to the server via a weapon - make the client the owner of the weapon on the server.