在具有.NET Framework 4.0的服务器上,由于不支持TLS 1.2,因此无法通信。为了解决这个问题,我在注册表中做了以下更改,并且可以正常工作。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"AspNetEnforceViewStateMac"=dword:00000001
"SchUseStrongCrypto"=dword:00000001 <-- This was added-->
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"AspNetEnforceViewStateMac"=dword:00000001
"SchUseStrongCrypto"=dword:00000001 <-- This was added-->
但是,在那之后,我看到我从服务器收到一个错误响应,作为XML响应。 响应:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>Security failure</faultstring>
<detail>
<ac:error xmlns:ac="http://www.ABCD.com/afgh1521">
<ac:errorCode>12345</ac:errorCode>
<ac:errorString>Failed</ac:errorString>
<ac:timeStamp>2018-12-11T01:54:42.032-06:00</ac:timeStamp>
</ac:error>
<ns1:exceptionName xmlns:ns1="http://xml.apache.org/axis/">com.abcde.soap.ACException</ns1:exceptionName>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
配置或其他任何地方是否需要进行更改以适应这些更改。