1

Silverlightで使用したいGetDataWorkflowService.xamlxという名前のworflowサービスが1つあります。

アプリケーションにサービス参照を追加すると、「この操作は相対URIではサポートされていません」というメッセージが表示されます。ただし、それでも参照は追加されます。

レファレンスを使用する場合:

Servicelient proxy=new ServiceClient();
proxy.GetDataCompleted += (o, a) => Debug.WriteLine("Result is " + a.Result);
proxy.GetDataAsync(123);

次のエラーが発生します。

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

何が起こっているのかわかりません。

4

2 に答える 2

0

いくつかのこと:

  • WCF テスト クライアントを使用して GetData() を呼び出すとどうなりますか? エラーが発生しますか、それとも問題なく動作しますか。ここでエラーが発生した場合は、サーバー部分に集中してください。
  • コンソール アプリケーションからサービス参照を設定し、ワークフロー サービスを呼び出すとどうなりますか。同じエラーまたはそれは機能しますか?
  • ワークフロー サービスは、Silverlight クライアントと同じ Web サイトでホストされていますか? そうでない場合は、クロス ドメイン ポリシー ファイルが正しく設定されていません。
  • WCF テスト クライアントが機能すると仮定します。フィドラーを開き、Silverlight クライアントからの要求と WCF テスト クライアントからの要求を比較します。何が違うのですか?
  • サーバーでトレースを有効にして、何が問題なのかをより詳しく知ることができる例外または警告があるかどうかを確認します。
于 2011-08-25T06:58:01.687 に答える
0

スタートアップ プロジェクトをチェックして、Silverlight プロジェクトではなく、Web プロジェクトを開始していることを確認してください。詳細については、私のブログのトラブルシューティング ワークフロー サービス/Silverlightを参照してください。

于 2011-08-26T16:09:41.057 に答える