2013-08-09 2 views
0

하나의 ASMX 서비스에 대해 두 개의 델파이 클라이언트가 있습니다. 한 클라이언트는 일반 데스크톱 응용 프로그램이고 다른 클라이언트는 Outlook 추가 기능입니다. 내 PC에서 모든 것이 잘 작동합니다 (SOAP 호출은 ASMX 서비스로). 그러나 내 costumers 중 하나가 Outlook 추가 기능 내에서 SOAP 호출에 문제가 있으며 같은 시간에 데스크톱 응용 프로그램이 동일한 컴퓨터에서 예상대로 작동합니다.SOAP 요청의 빈 응답

Outlook 추가 기능에서 SOAP 호출 문제는 "XML 문서에 최상위 요소가 있어야합니다."라는 오류입니다. 이 오류의 원인은 호출 응답이 없습니다. 로그를 살펴 보자 :

8/7/2013-1:12:29 PM Response: 
8/7/2013-1:12:29 PM XML document must have a top level element. 

Line: 0 

       XMLDoc.TXMLDocument.LoadData + $2AA 
       XMLDoc.TXMLDocument.SetActive + $A8 
       XMLDoc.TXMLDocument.LoadFromStream + $29 
       Rio.TRIO.Generic + $70F 

응답 스트림 통화

fResponse.LoadFromStream(Response); 

를 사용 HttpRio AfterExecute 방법으로 검색되는 질문 :이 오류의 이유는, 무엇을 어떻게 할 수있는 동일한 시스템에서 하나의 클라이언트 잘 작동합니까? 이 상황을 재현하고 진단하려면 어떻게해야합니까?

P. http 패킷을 스니핑 한 것은 좋지만 http 스니퍼를 실행하려면 costumer의 PC에 액세스 할 수 없습니다.

+0

두 앱에서 SOAP 요청을 로깅하고 비교/표시 할 수 있습니까? 잘못된 요청은 서버에 따라 빈 응답을 초래할 수 있습니다. 맞춤 서버인가, 아니면 우리 모두가 알고있는 것. Exchange 웹 서비스? (이 경우 질문을 편집하십시오.) –

+0

이것은 사용자 지정 C# 서비스입니다. 로깅 요청은 내 생각입니다. 나는 이것을 고객에게 추가했고 costumer에게 보낼 것이다. costumer의 응답 후에 질문을 더 많은 정보로 업데이트합니다. – GothAr

+0

Outlook 추가 기능이 정확히 동일한 사용자 권한으로 실행됩니까? – mjn

답변

0

로그에 원래 요청의 타임 스탬프가 표시되지 않습니다. 시차가 30 초 또는 60 초 경계로 떨어지면 거의 확실하게 타임 아웃 상황이됩니다. 즉 아무 응답도받지 못했습니다. 그것이 바로 발생한다면, 귀하의 요청은 빠져 나오지 않을 것이며, 방화벽에 의해 차단되고 있습니다.