0

참고 : 우선 영어 수준이 낮아서 죄송합니다.시간대 UTC로 전화 할 때 EWS는 항상 ErrorTimeZone을 반환합니다.

시간대 Utc (new ExchangeService (ExchangeVersion.Exchange2007_SP1, TimeZoneInfo.Utc);)를 ExchangeService로 만들 때 클라이언트 환경에서 EWS (관리 API 사용)에 대한 모든 요청에 ​​문제가 있습니다.

반환 된 오류는 다음과 같습니다 ResposeCode = ErrorTimeZone (지정된 ID를 가진 시간대를 찾을 수 없습니다.)

어떤 생각? 여기

당신은 로그가이 오류를 반환하는 EWS 요청 추적이 : 읽기 : 대한

18 2014-05-19 13:52:33,224 6 TRACE XXXX SCService.exe (null) (null)[EwsResponseHttpHeaders] <Trace Tag="EwsResponseHttpHeaders" Tid="6" Time="2014-05-19 13:52:33Z"> 
HTTP/1.1 500 Internal Server Error 
Content-Length: 1014 
Cache-Control: private 
Content-Type: text/xml; charset=utf-8 
Date: Mon, 19 May 2014 13:52:35 GMT 
Server: Microsoft-IIS/6.0 
X-AspNet-Version: 2.0.50727 
X-Powered-By: ASP.NET 


</Trace> 
    (null) 
19 2014-05-19 13:52:33,224 6 TRACE XXXX SCService.exe (null) (null)[EwsResponse] <Trace Tag="EwsResponse" Tid="6" Time="2014-05-19 13:52:33Z" Version="15.00.0516.014"> 
    <?xml version="1.0" encoding="utf-8"?> 
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Header> 
     <t:ServerVersionInfo MajorVersion="8" MinorVersion="3" MajorBuildNumber="298" MinorBuildNumber="1" Version="Exchange2007_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" /> 
    </soap:Header> 
    <soap:Body> 
     <soap:Fault> 
     <faultcode>soap:Client</faultcode> 
     <faultstring>A time zone with the specified ID could not be found.</faultstring> 
     <detail> 
      <e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorTimeZone</e:ResponseCode> 
      <e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">A time zone with the specified ID could not be found.</e:Message> 
      <t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> 
      <t:Value Name="Id">UTC</t:Value> 
      </t:MessageXml> 
     </detail> 
     </soap:Fault> 
    </soap:Body> 
    </soap:Envelope> 
</Trace> 

감사를

+0

요청 또는 요청을 생성하는 코드를 포함하십시오. 응답만으로는 문제를 진단하는 데 필요한 정보가 충분하지 않습니다. 감사. –

답변

2

문제였습니다 프로덕션 환경에서 교환 CAS의 몇 가지 이유 없음에 대한 클라이언트의 UTC 시간대는 Windows 레지스트리에 정의되어 있습니다.

클라이언트의 owa에 액세스 할 수 있었고 owa 설정에서 UTC 시간대를 설정할 수 없음을 알았습니다. 이를 통해 UTC 시간대가 CAS 중 하나에 올바르게 설정되었는지 확인할 수있었습니다. 그리고 그렇지 않았으므로 Windows 레지스트리에서 수동으로 시간대를 설정하도록 요청했습니다. 그런 다음이 CAS에만 적용 할 수 있도록 응용 프로그램을 구성했으며 모두 잘 작동했습니다.

클라이언트를 조사한 결과 모든 것은 최근 적용한 교환 패치로 인해 발생했으며 사전 환경의 환경에서이를 확인하고 테스트 한 또 다른 패치라고합니다.

1

누군가 다른 사람이이 문제를 우연히 발견하면 다음 단계로 넘어가십시오. Exchange 2016 CU8 (CU5에서 시작)을 설치 한 후 매우 비슷한 문제가 발생했습니다. 나는 GetServerTimeZone 호출을 할 때 가장 (impersonation) 권한을 가진 계정이 500 오류를 수신하는 것으로 나타났습니다. 이는 계정이 사서함을 사용할 수 없기 때문에 할당 된 시간대가 없기 때문입니다. 일단 내가 메일을 메일로 보내면 오류가 사라지고 서비스가 복원되었습니다.

Microsoft는 이것이 예상 된 동작이 아니라고 인정하고 버그 확인을 위해 제출했습니다.