現在、Windows サービスでホストされている WCF サービスを開発しています。メソッドの 1 つには、支払いプロバイダーからのコールバックを受信するように設定された URI があります。これはインターフェイス コントラクトです...
[OperationContract]
[WebInvoke(UriTemplate = "3DSecureCallback?TrxId={id}", Method = "POST", BodyStyle = WebMessageBodyStyle.Bare)]
void ThreeDSecureCallBack(string id, Stream body);
私が抱えているこの問題は、サードパーティのプロバイダーが私たちのサービスに投稿することです. コールバック URL を提供する必要があります。支払いを調整できるように、トランザクション ID を含むクエリ文字列パラメーターを含む URL を提供します。
このサービスの開発中、コールバックは成功しています。(これはSteamパラメータを追加する前でした)
ただし、現在、投稿されたデータを解析する必要がある段階にあります。これは、メソッド シグネチャに 2 番目の「Stream」パラメータが追加された点です。
私が得ている問題は、次の例外が発生することです...
For request in operation ThreeDSecureCallBack to be a stream the operation must have a single parameter whose type is Stream.
id パラメータを削除し、ストリームのみにすることで、投稿データを取得できます。ただし、文字列パラメーターもクエリする必要があるため、これは実際には機能しません。
誰でもこの問題を解決する方法についてアドバイスできますか? 私は本当に途方に暮れています。
前もって感謝します、
デビッド