1

いくつかの SharePoint リストからデータを取得する Silverlight 5 アプリがあります。すべて正常に機能していたので、SSL を許可するようにサイトをセットアップし、https を使用して Web サービスを呼び出すようにサービス参照を更新しようとしました。セキュリティ モード トランスポートを使用するようにクライアント構成バインディングを更新しました。しかし、サービスを呼び出すと、エラーが発生します。

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

問題が何であるか、または「セキュリティエラー」以外の情報を取得する方法を知っている人はいますか?

4

1 に答える 1

0

私は非常に多くの異なる組み合わせを経験してきたので、いつ何が起こったのか正確にはわかりませんが、今では機能しています. 当初、サイト/サービスに奇妙な問題があったため、Silverlight を手動で構成して NTLM トランスポート資格情報を渡すように促したと思います。そうすることで、エラーの原因となる無効な構成ファイルを作成した可能性があります。機能している構成は次のとおりです。

    <bindings>
        <basicHttpBinding>
            <binding name="ListsSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
              <security mode="Transport" />
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="https://devadmin.mydomain.com/_vti_bin/Lists.asmx"
            binding="basicHttpBinding" bindingConfiguration="ListsSoap"
            contract="SPListsService.ListsSoap" name="ListsSoap" />
    </client>

したがって、このエラーが発生し、クロスドメイン呼び出しを行っていない場合は、何らかの根本的なサービス エラーが疑われます。Silverlight を使用していない場合は、トレースを有効にしてエラーを追跡できます。Silverlight を使用している場合、絞り込むために何ができるかはまだわかりませんが、Silverlightは、通常の .net WCF クライアントが行う構成オプションの一部しかサポートしていないことに注意してください。

于 2012-09-18T17:14:33.837 に答える