在.NET Framework 4.0上更新到TLS 1.2后,获取<faultcode> soapenv:Client </faultcode>

时间:2018-12-12 02:27:30

标签: c#-4.0 soap soap-client tls1.2

在具有.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>

配置或其他任何地方是否需要进行更改以适应这些更改。

0 个答案:

没有答案