Возможно, я ошибаюсь, но ошибка сервера Http 500 Interal генерируется сервером, на котором находится вызываемый вами URI.Ваш код может быть правильным, но сервер возвращает ошибку.Вам необходимо отладить серверный скрипт (если вы его контролируете) или, в качестве альтернативы, обработать ошибку http 500 в своем коде.
Вы должны вызвать uri напрямую из браузера, чтобы узнать, не вызывает ли это внутреннюю ошибку сервера http 500,Если это так (и вы контролируете веб-сервер), вы можете проверить журнал сервера для более подробной информации.
Надеюсь, это поможет.