2011-06-24 6 views
2

この問題で多数のスレッドが見られましたが、私はうまくいきませんでした。私は単純な銀色のアプリケーションがあります。私はWCFサービスを使います。サービスからGetOrderListメソッドを呼び出すと、次のエラーが表示されます。クロスドメインポリシーファイルでSilverlight WCFの問題

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

は私のコードです:

public partial class MainPage : UserControl 
    { 
     public MainPage() 
     { 
      InitializeComponent(); 
      ServiceReference1.ServiceClient sc = new ServiceReference1.ServiceClient(); 
      sc.GetOrderListAsync("testuser"); 
      sc.GetOrderListCompleted += new EventHandler<ServiceReference1.GetOrderListCompletedEventArgs>(sc_GetOrderListCompleted); 
     } 

     void sc_GetOrderListCompleted(object sender, ServiceReference1.GetOrderListCompletedEventArgs e) 
     { 
      var RESULT = e.Result; 
     } 
    } 

これは私が私のwwwrootの上に置く私のクライアントアクセスポリシーファイルである:私はシオマネキを実行すると

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

、それは「clientaccesspolicy.xml」を見つけました200 OK(text/xml)で、ファイルを見つけることがわかっています。

何が問題になりますか?私は無効なポリシーファイルを持っていますか?コンソールアプリケーションを作成してサービスを使用すると、問題が発生したメソッドを呼び出すことができます。

アイデア?

+0

は、あなたは、要求がサービス自体に行く見ていますか?もしそうなら、サービスからの応答は何ですか? – carlosfigueira

+0

私はhttpsプロトコルを参照してください..それは正しいですか? httpプロトコルを使用して、clientconfigファイルのhttpbindingを使用してみてください –

答えて

0

私も同様の問題がありましたが、httpプロトコルを使用しているサービスでは、.clientconfigファイルを使用して解決しました。

が明示的にHTTPSを追加してみました:

0

は、私はあなたがHTTPS(//testserver2.mydomain.org/ORDERNET/WCFServices/OrderService/OrderService.svc HTTPSを):使用している気づく// * URIへあなたのクロスドメインポリシーファイル:

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

あなたは、HTTPをサポートする必要がある場合は、両方を追加:

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

Silverlight Cross Domain Web Service Access Error - This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place

感謝.....フィドラーで

+0

こちらもご覧ください:http://www.byteblocks.com/post/2010/03/09/Silverlight-Cross-Domain-Web-Service-Access-Error.aspx –

+0

私はすてきな発見を感謝します –

関連する問題