문제

방법을 이해하는 데 문제가 있습니다. ListData.svc IE8 및 IE9를 사용하여 디버깅할 수 있습니다.

다음과 같은 URL이 있습니다.hostname:8181/_vti_bin/listdata.svc/ImageBanners?$filter=endswith(Path,'TopLeft') eq를 true로 표시

SharePoint 독립 실행형 서버에서 IE8을 사용하여 액세스하려고 하면 오류 400이 발생합니다.

Firefox를 사용하여 동일한 URL을 요청하면 정상적으로 작동합니다.

게다가 hostname:8181/_vti_bin/listdata.svc/ImageBanners IE에서도 정상적으로 작동합니다.그래서 문제는 다음에 있는 것 같습니다. $filter=endswith 부분.

하지만.서버 IP 주소나 로컬 호스트를 사용하여 IE8에서 동일한 URL을 요청하면 복잡한 필터를 사용해도 올바른 결과를 얻습니다.

누구든지 이 미스터리를 밝혀줄 수 있나요?왜 이런 동작이 발생합니까?

추가 정보:

  • SharePoint에는 러시아어 및 영어 버전이 설치되어 있습니다.
  • SharePoint 응용 프로그램은 NTLM 인증을 사용하고 있습니다.
  • IIS의 익명 인증이 비활성화되었습니다.
  • Fiddler는 모든 리소스가 두 번 요청된다는 것을 보여줍니다.처음에는 서버가 401을 반환하고 그 다음에는 브라우저와 URL에 따라 200 또는 400을 반환합니다(위의 세부정보 참조).

    • 내가 접속할 때 ListData.svc Firefox 올바른 HTTP 요청을 사용하는 방법은 다음과 같습니다.

    수용하다:텍스트/html, 애플리케이션/xhtml+xml, /
    수락 언어:en-US
    사용자 에이전트:Mozilla/5.0(호환 가능;MSIE 9.0;윈도우 NT 6.1;와우64;트라이던트/5.0)
    수락-인코딩:gzip, 수축
    연결:살아 유지
    쿠키:WSS_KeepSessionAuthenticated={b3987daa-d463-415f-8fb3-d556c27e5bbf}
    주인:로컬호스트:8181
    권한 부여:NTLM TlRMTVNTU...

    • IE8을 사용할 때 HTTP 요청은 다음과 같습니다. lcid=1049.어쩌면 그게 문제일 수도 있겠네요?):

    수용하다:이미지/jpeg, 이미지/gif, 이미지/pjpeg, 애플리케이션/x-ms-application, 애플리케이션/xaml+xml, 애플리케이션/x-ms-xbap, /
    수락 언어:en-US
    사용자 에이전트:Mozilla/4.0(호환 가능;MSIE 7.0;윈도우 NT 6.1;와우64;트라이던트/5.0;SLCC2;.NET CLR 2.0.50727;.NET4.0C;.NET4.0E;.NET CLR 3.5.30729;.NET CLR 3.0.30729;InfoPath.3)
    수락-인코딩:gzip, 수축
    연결:살아 유지
    쿠키:LCD=1049;WSS_KeepSessionAuthenticated={b3987daa-d463-415f-8fb3-d556c27e5bbf}
    권한 부여:NTLM TlRMTVNTU...
    주인:호스트 이름:8181

도움이 되었습니까?

해결책

드디어 고정시켰습니다.이는 SharePoint REST의 기능으로 밝혀졌습니다.나는 가져갈 필요가 있었다 UI 언어 생각 해 보겠다!

예를 들어 en-us 로캘의 경우 REST 쿼리는 다음과 같아야 합니다.

?$필터=끝(,'폴더 이름')

그러나 ru-ru에서는 다음과 같이 됩니다.

?$필터=끝(푸티,'폴더 이름')

게다가 러시아 문자를 피해야 합니다.따라서 최종적으로 다음과 같아야 합니다.

?$필터=끝(%D0%9F%D1%83%D1%82%D1%8C",'폴더 이름')

문제는 이 뿐만이 아닙니다만...제가 받은 JSON도 현지화된 것으로 나타났습니다.이는 속성이 다른 지역화된 이름.예를 들어 en-us에서 JSON을 반환했습니다.

{..."ModifiedById":1,"CopySource":null,"ApprovalStatus":"0","Path":"/Lists/ImageBanners/BottomRight"...}

루루에서:

{...."КемИзмененоId":1,"ИсточникКопии":null,"СостояниеУтверждения":"0","Путь":"/Lists/ImageBanners/BottomRight"...}

다른 언어의 속성 이름을 예측하기가 정말 어렵기 때문에 문제가 됩니다.이 정보가 누군가에게 유용한 경고가 되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top