質問

したがって、以下にリストする両方のxmlファイルを使用しますが、うまくいきません。両方とも、異なるWebサーバー(ファイアウォールの背後)にあるIISホストWebサービスのルートに存在します。 Webサービスは、JSON文字列を返すサービスのような単純なPOXです。

また、ローカルマシン上のcassini実行プロジェクトからこのサービスにアクセスしようとしています(テストするため)。ブラウザからJSONを表示できますが、同じURIを使用してHTTP GETを実行しようとすると、シルバーライトでセキュリティエラーが発生します(4004は表示されたエラーコードです)

ここで見逃した簡単なことは何ですか?

clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only" /> 
  <allow-access-from domain="*" secure="true" /> 
</cross-domain-policy>
役に立ちましたか?

解決

クロスドメインポリシーファイルのリクエストが指しているアドレスを確認するために、フィドラーのようなツールを使用していますか?通常、これが最初のチェックです。ポリシーファイルが見つからない場合は、どこにあるべきかがわかります。見つかった場合は、通常どこかを調べる必要があります。

clientaccesspolicy.xmlは、私の参照のものと同じです。問題ないはずです。

他のヒント

404応答コードを受け取った場合、唯一の理由は、サーバーが探しているリソースを見つけられないことです。正しいURLを使用していると確信していますか?

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