質問

私はどのように理解するのに問題がありますか ListData.svc IE8とIE9を使用してデバッグできます。

私はこのようなURLを持っています:hostname:8181/_vti_bin/listdata.svc/ImageBanners?$filter=endswith(Path,'TopLeft') とショー eq真

SharePointスタンドアロンサーバーからIE8を使用してアクセスしようとすると、エラー400が表示されます。

Firefoxを使用して同じURLを要求すると、正常に動作します。

その上に hostname:8181/_vti_bin/listdata.svc/ImageBanners それもIEであるべきように動作します。したがって、問題は次のようになっているようです $filter=endswith パート...

しかし。サーバーのIPアドレスまたはlocalhostを使用してIE8で同じURLを要求すると、複雑なフィルターでも正しい結果が得られます。

誰でも、この謎に光を当てることができますか?なぜ私はこの種の行動を取るのですか?

追加情報:

  • SharePointにはロシア語と英語のバージョンがインストールされています。
  • SharePointアプリケーションはNTLM認証を使用しています。
  • IISでの匿名認証は無効になっています。
  • Fiddlerは、すべてのリソースが2回要求されていることを示しています。サーバーが最初に401を返し、次にブラウザとURLに応じて200または400を返します(上記の詳細を参照)。

    • 私がアクセスするとき ListData.svc Firefoxの正しいHTTPリクエストを使用すると、次のようになります:

    受け入れる:テキスト/html、アプリケーション/xhtml+xml, /
    受け入れ言語:en-US
    ユーザーエージェント:Mozilla/5.0(互換性;MSIE9.0;Windows NT6.1;WOW64;トライデント/5.0)
    アクセプトエンコーディング:gzip、deflate
    接続:キープアライブ
    クッキー:Wss_keepsessionauthenticated={b3987daa-d463-415f-8fb3-d556c27e5bbf}
    ホスト:ローカルホスト:8181
    認証:NTLM TlRMTVNTU...

    • IE8HTTP要求を使用する場合は、次のようになります(注意 lcid=1049.多分それが問題かもしれませんか?):

    受け入れる:image/jpeg,image/gif,image/pjpeg,application/x-ms-application,application/xaml+xml,application/x-ms-xbap, /
    受け入れ言語:en-US
    ユーザーエージェント:Mozilla/4.0(互換性;MSIE7.0;Windows NT6.1;WOW64;トライデント/5.0;SLCC2;.NET CLR2.0.50727;.NET4.0C;.NET4.0E;.NET CLR3.5.30729;.NET CLR3.0.30729;インフォパス3)
    アクセプトエンコーディング:gzip、deflate
    接続:キープアライブ
    クッキー:lcid=1049;Wss_keepsessionauthenticated={b3987daa-d463-415f-8fb3-d556c27e5bbf}
    認証:NTLM TlRMTVNTU...
    ホスト:再生回数:8181

役に立ちましたか?

解決

私は最終的にそれを固定しました。これはSharePointのRESTの機能であることが判明しました。私は取る必要がありました UI言語 考慮に入れて!

たとえば、en-usロケールの場合、RESTクエリは次のようになります:

?$filter=endswith(パス,'FolderName')

しかし、ru-ruでは次のようになります:

?$filter=endswith(Путь,'FolderName')

さらに、あなたはロシアの手紙を逃れる必要があります。だから、最終的には次のようになります:

?$filter=endswith(%D0%9F%D1%83%D1%82%D1%8C",'FolderName')

しかし、これだけの問題ではありません。..私が受け取るJSONもローカライズされていることがわかりました。これによって、私はプロパティが持っていることを意味します 異なるローカライズされた名前.たとえば、en-usで返されたJSON:

{...これは、次のようになります。http://Docs.Oracle.com/technetwork/Java/Javase/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs/Docs..}

るーるで:

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

異なる言語のプロパティの名前を予測するのは本当に難しいので、これは問題です。私はこの情報が誰かのための有用な警告になることを願っています。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top