2009-07-16 12 views
1

私はSilverlightコントロールのプロキシとしてWCFサービスを作成して、インターネットREST Webサービスへのクロスドメイン要求を行っています。私はちょうど私のサービスへのリクエストを作成したいと思って、それをフォーマットし、サードパーティーのWebサービスに要求を転送します(ホスト名とURLの一部を置き換えて)、単に応答を呼び出し側に返します。Silverlight、WCF、およびリライトレスポンス

私のアプローチは正しいですか?サードパーティのサーバにcrossdomain.xmlファイルがないため、私の呼び出しは許可されません。

私のWCFサービスのアプローチでは、サードパーティのサービスから取得したレスポンスボディをサービス内のレスポンスボディに書き換え、可能であればレスポンスヘッダも書き直したい私はそのサービスから得ました。この方法で、私のWebサービスが応答で行う翻訳を最小限に抑えます。私がこの書き直しをすることは可能ですか?もしそうなら、どうですか?そうでない場合は、これを実装するベストプラクティスは何ですか?

私のインターフェイスは、今のところ非常にプリミティブなものです。これ以上のものは必要ありません。サードパーティサービスからの応答はJSON応答です。

[ServiceContract] 
interface IMyProxy 
{ 
    [OperationContract] 
    [WebGet(UriTemplate = "relay/{requestOptions}")] 
    string ForwardRequest(string requestOptions); 
} 

p.s.私はHTTPSで動作する必要はないので、中間者の問題について心配する必要はありません。

答えて

0

私はそれを理解しました。私は(WebOperationContext)と信じています。 私は、私の返信で3部サービスの "Transfer-encoding"を複製した場合、フレームワークの不器用な部分(何か「NotFound」)からわかりにくい例外が発生するという問題はまだあります。別の話。

関連する問題