0

Silverlight 3 プロジェクトがあり、Java WebService を呼び出す必要があります。バインディングは問題ありません (SOAP 1.1 および basicHttpBinding):

ClientConfig ファイル:

<configuration>
<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="SkyinfoTestInterfaceExport2_SkyinfoTestInterfaceHttpBinding"
                maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
                <security mode="None">
                    <transport>
                        <extendedProtectionPolicy policyEnforcement="Never" />
                    </transport>
                </security>
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="myAddress"
            binding="basicHttpBinding" bindingConfiguration="SkyinfoTestInterfaceExport2_SkyinfoTestInterfaceHttpBinding"
            contract="SkyInfoServiceReference.SkyinfoTestInterface" name="SkyinfoTestInterfaceExport2_SkyinfoTestInterfaceHttpPort" />
    </client>
</system.serviceModel>

クライアントでメソッドを呼び出すと、次のポリシー エラーが発生します。

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

これら 2 つのポリシー XML ファイルについては知っていますが、呼び出しようとしている Java EE サービスは、アクセスできない IBM WebSphere Process Server でホストされています。

このポリシーの例外を回避する方法を知っている人はいますか?

4

1 に答える 1

0

クロスドメイン ポリシーを実装するためにサーバーにアクセスできないため、プロキシ RIA サービスを実装する必要があります。ローカル サービスで要求/応答を模倣し、それらの要求を元のサービスに転送し、必要に応じて応答を返すだけです。

于 2010-03-12T10:31:42.577 に答える