Not sure if you resolved this but I encountered a similar error. The clue to resolution came from the error log in App_Data\Sitefinity\Logs. If you see a Type that mentions an Endpoint not being found and a Message that outputs something involving "PagesApprovalWorkflow.xamlx that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details." there's a good chance that you are having the same issue.
This was related to workflow changes that came in 5.1/2, permissions and possibly some custom roles that we are using, Instead of setting database user permissions as mentioned above I was able to disable our custom modules (they were causing the issue for sure), perform the upgrade and turn them back on.
From here the admin screens would now work at least but the public version of the site still threw the same ugly error. I checked the modules' permissions in the admin settings and they had gone all wonky so I set those back to something reasonable and they now no longer throw an error publicly or in the admin.
This may have been resolved via the ticket but I wanted to make sure it was posted here in case anyone else runs in to the same issues. I've seen a few forum posts that seem similar.