我有一个托管在我们外部服务器上的Web服务。第三方公司正在尝试访问Web服务并收到此错误:
SimpleAsyncTaskExecutor-1, handling exception: java.net.SocketException: Connection reset
%% Invalidated: [Session-3, TLS_RSA_WITH_AES_128_CBC_SHA]
%% Invalidated: [Session-4, TLS_RSA_WITH_AES_128_CBC_SHA]
SimpleAsyncTaskExecutor-1, SEND TLSv1 ALERT: fatal, description = unexpected_message
Padded plaintext before ENCRYPTION: len = 32
SimpleAsyncTaskExecutor-1, WRITE: TLSv1 Alert, length = 32
SimpleAsyncTaskExecutor-1, Exception sending alert: java.net.SocketException: Broken pipe
SimpleAsyncTaskExecutor-1, called closeSocket()
SimpleAsyncTaskExecutor-1, called close()
SimpleAsyncTaskExecutor-1, called closeInternal(true)
2017-01-03 20:58:29.506 ERROR 20729 --- [nio-9000-exec-1]
c.h.i.service.IICMVAQuery10Service :
java.util.concurrent.ExecutionException: javax.xml.ws.WebServiceException:
java.net.SocketException: Connection reset
>>>>Response was NULL
我们的服务器设置为通过IIS使用SSL。我不确定这是由服务器设置还是我的Web服务配置引起的,但这是我的web.config:
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<system.serviceModel>
<services>
<service name="MSFB.MSVehicleInsuranceVerification.VerificationService">
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="secureHttpBinding"
contract="MSFB.MSVehicleInsuranceVerification.IVerificationService"
listenUri="/" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="secureHttpBinding">
<security mode="Transport">
<transport clientCredentialType="Certificate"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
更新:
第三方更改了他们的安全设置以使用TLSv1但我们仍然收到错误以及其他损坏的管道错误:
SimpleAsyncTaskExecutor-1, handling exception: java.net.SocketException: Connection reset
%% Invalidated: [Session-3, TLS_RSA_WITH_AES_128_CBC_SHA]
%% Invalidated: [Session-4, TLS_RSA_WITH_AES_128_CBC_SHA]
SimpleAsyncTaskExecutor-1, SEND TLSv1 ALERT: fatal, description = unexpected_message
Padded plaintext before ENCRYPTION: len = 32
0000: 02 0A A9 B6 11 DF 3C 6C F6 D5 6E ED EF C7 F5 78 ......<l..n....x
0010: 2C 5E 71 6E 18 E7 09 09 09 09 09 09 09 09 09 09 ,^qn............
SimpleAsyncTaskExecutor-1, WRITE: TLSv1 Alert, length = 32
SimpleAsyncTaskExecutor-1, Exception sending alert: java.net.SocketException: Broken pipe
SimpleAsyncTaskExecutor-1, called closeSocket()
SimpleAsyncTaskExecutor-1, called close()
SimpleAsyncTaskExecutor-1, called closeInternal(true)
2017-01-05 17:52:38.957 DEBUG 7149 --- [nio-9000-exec-1]
w.c.HttpSessionSecurityContextRepository : SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.