Delphi XE로 작성된 SOAP 서버/클라이언트 응용 프로그램은 기업 프록시/방화벽 뒤에서 Windows 7 x64에서 실행하는 사용자에게 약간의 시간 동안 정상적으로 작동합니다. 응용 프로그램은 요청에서 TSOAPAttachment 오브젝트를 송수신합니다.일부 프록시/방화벽 뒤에서 SOAP 서버가 올바르게 작동하지 않을 수 있습니다.
문제점 :
- 이 사용자의 첫 번째 요청을 수신하여 처리 한 후에, 서버는 (모든 사용자로부터의) 모든 요청이 성공적으로 처리 한 후에 오는 없었다.
- 서버가 여전히 요청에 응답하지만 요청의 SOAPAttachment가이 사용자의 첫 번째 메시지 이후에 손상된 것 같습니다. 따라서 요청을 성공적으로 처리 할 수 없습니다.
- 퍼팅 후 서버에 로그를 디버깅 할 수 있습니다. 요청 매개 변수의 TSOAPAttachment.SourceStream에 액세스 할 수 없거나 비어있는 것을 확인했으며 TSOAPAttachment.CacheFile도 비어 있습니다. 따라서 SourceStream을 사용할 때마다 액세스 위반 오류가 반환됩니다.
- 첫 번째 요청에 의해 임시 폴더에서 생성 된 BorlandSoapAttachment (n) 파일이 여전히 존재하고 잠긴 상태 (요청이 정상적으로 완료되면 삭제해야 함) 및 다음과 같은 BorlandSoapAttachment (n + 1) 파일이 발견되었습니다. 요청이 쌓이고 있습니다.
- SOAP 서버는 IIS를 다시 시작하거나 응용 프로그램 풀을 재생 한 후에 다시 작동합니다.
- 동일한 시스템이이 네트워크 외부에서 실행되면 정상적으로 작동하므로 프록시 또는 사용자의 네트워크로 인해 발생하는 것이 확실합니다.
- 더 많은 미스테리를 추가하려면 같은 프록시 뒤의 WinXP에서 응용 프로그램을 실행해도 전혀 문제가 없습니다!
우리가이 상황에서 당분간 붙어있는 것이므로 매우 도움이되거나 도움이됩니다.
미리 감사드립니다. 당신은 당신이 Windows 7에서 구체적으로 실패 할 수 코드의 조각을 발견 할 시도하는 첨부 파일을 처리하는 모든 서버 로직을 디버깅 정말 확실한 경우
하지만 회사 네트워크 외부에서 실행되는 동일한 시스템 설정과 동일한 사용자 설정이 제대로 작동하므로 프록시/방화벽이 거의 확실합니다. 하지만 왜 Win7에서 일어날 지 설명 할 수 없었습니다. win7이 회사 네트워크에서 다르게 행동합니까? – sfx