1

HTTPSを使用して作成したセルフホストのWCFサービスを利用しようとしています。WCFClientTestツールとWebブラウザーを使用してサービスにアクセスできますが、Silverlightアプリケーションが機能していません。次のエラーが発生します。

This could be due to to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent.

clientaccesspolicy.xmlを配置していますが、フィドラーで表示すると、Silverlightアプリで問題がないことがわかります。xmlファイルには次のものが含まれています。

<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>

問題は、Silverlightアプリケーションがそのファイルを要求して受信しているように見えても、クロスドメインアクセスを許可する必要があるというエラーメッセージをスローしていることです。

前もって感謝します。

4

2 に答える 2

2

アプリケーションが WCF サービスを使用しようとしているアドレスとポートに注意してください。Fiddler を使用して、呼び出し元を確認します (VS のエラーは同じであるため、このような多くの問題が発生しました... サービスが見つかりません)。

とにかく、ここには機能している clientaccesspolicy.xml があります。

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="http://*"/>
        <domain uri="https://*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>
于 2012-09-12T15:33:28.460 に答える
0

https 用に別のドメイン ノードが必要です。

<domain uri="https://*" /> 

Cros ドメインの詳細については、http://msdn.microsoft.com/en-us/library/dd470115(VS.95).aspx & http://blogs.msdn.com/b/carlosfigueira/archive/2008をご覧ください。 /03/07/enabling-cross-domain-calls-for-silverlight-apps-on-self-hosted-web-services.aspx

このリンクが役に立ちますように。

于 2012-09-12T15:22:07.143 に答える