1

WCF サービス (RIA ではない) と Silverlight を使用しています。次のエラーが表示されます。

URI 'http://localhost:8732/' へのリクエストの試行中にエラーが発生しました。これは、適切なクロスドメイン ポリシーを設定せずにクロスドメイン方式でサービスにアクセスしようとしたか、SOAP サービスに適していないポリシーが原因である可能性があります。クロスドメイン ポリシー ファイルを公開し、SOAP 関連の HTTP ヘッダーを送信できるようにするために、サービスの所有者に連絡する必要がある場合があります。このエラーは、InternalsVisibleToAttribute 属性を使用せずに Web サービス プロキシで内部型を使用した場合にも発生する可能性があります。詳細については、内部例外を参照してください。

以下を clientaccesspolicy.xml ファイルに追加し、crossdomain.xml を Web プロジェクトのルートに追加しようとしました。彼らはこのように見えます...

<access-policy> 
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="http://*"/>
        <domain uri="https://*"/>
      </allow-from>
      <grant-to>
        <resource include-subpaths="true" path="/"/>
      </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>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

なぜ私はこれを得ているのですか?

前もって感謝します。

4

3 に答える 3

0

WCF サービスによってSilverlight Web アプリ プロジェクトからの Web アプリに移動するとすぐに、SOAP WCF サービスでこの問題に遭遇しました。WCF Web アプリのルートに clientaccesspolicy.xml があっても、まだこのエラーが発生していました。私にとって最速の解決策は、WCF サービスを SOAP からRESTに変更することでした。その後、最終的に Silverlight が clientaccesspolicy.xml を認識し、要求が再び機能し始めました。

于 2012-08-11T06:17:57.690 に答える
0

clientaccesspolicy.xml は、Web プロジェクトのルートではなく、WCF サービスをホストする Web サイトのルートに配置する必要があります。

于 2011-06-21T04:54:20.370 に答える
0

fiddler をインストールできない場合は、TcpTrace をダウンロードして使用できますか? http://www.pocketsoap.com/tcptrace/

于 2011-05-26T20:27:50.990 に答える