It turns out that there were issues in the Soap server itself. Once it was fixed, my original version of the code worked just fine with TLS1.2 enabled. The code I pasted in my original post about explicitly setting TLS 1.2 was not needed.