by James Ballard.
Having the exact same issue with the same workaround.
This is caused by a permissions check within the Web Service call that never appears to return true for an external web service user.
Have logged as MDL-47783
Yours
James