The way I would approach this is by using a "dumb" controller for doing the copy. For example, in a similar situation I had with SATA drives, I used a USB to SATA adapter to make copies of the raw discs. You definitely want to make pristine copies of the discs before you start trying to reconstruct the data from them, just in case there's a mistake. But smart RAID controllers can get in your way with this. So, get a dumb SAS controller to make the copy would be my recommendation.
Then you'll need to piece together the layout of the data on the disc. The only time I've done this it was with a RAID-1 array, so it was very easy -- I just needed to find out the offset of the data within the drive. In your case you are going to need to figure out the striping, and you'll probably also need to figure out the parity (since you likely had one disc fail, and then some time later another disc, you can't just rely on the non-parity data, you'll have to reconstruct from the parity data).
Unfortunately, this may be fairly hard. You may want to see if the controller vendor has low-level layout documentation, but a friend who had a RAID-5 array fail was told that this information is proprietary and they couldn't give it out.
Have you contacted a data recovery house to see if they can help? It may be cost-effective to have them work on it, as some of them I've heard are versed with the low-level layouts of different RAID controllers data and can recover from these sorts of situations.
Not to rub salt in the wound, but obviously this seems to point out a couple of weaknesses in your operations: a lack of backups and not having array monitoring that told you when the first drive failed. Be sure those issues get addressed in the future.