0

Webサービスを作成しています。クライアントは、XMLの情報をPOSTを介してRETURNURLに送信します。クライアントは、RETURNURLがPOSTメッセージを受信したことを確認するための単なるステータスインジケータである「Success」または「Fail」のみを受信することになっています。

その後、RETURN URL(ホスト)はクライアントが送信したXMLデータを処理します。

私が抱えている問題は、処理に数分かかる場合があることです。ステータスメッセージをすぐに送信してから、XMLデータの処理を続行したいと思います。

これに取り組む方法について何かアドバイスはありますか?

4

3 に答える 3

0

Web サービスを非同期として返すように設定します。.Netでそれを行う場合、Webサービス関数に設定するパラメーターがあります

MSDN 非同期 Web サービス

Java で作成する場合は、Oracle から作成する方法について説明します。私はJavaに精通していないので、それがどのように行われたか正確にはわかりませんが、ここにドキュメントがあります。

Oracle 非同期 Web サービス

于 2012-12-01T14:32:10.450 に答える
0

これを行うには、おそらくいくつかの方法があります。最初に思いつくのは、XML をデータベース レコードに格納し、「成功」ステータスをクライアントに返すことです。

データベース内の新しいレコードをチェックし、レコードがなくなるまで処理するプロセスを数秒または数分ごとに実行するように設定します。

この方法で ASP にグループ テキスト サービスを実装したことがあります。着信 SMS メッセージ (着信 XML ファイルなど) はデータベースに保存されました。新しいメッセージを探すプロセスが 1 ~ 2 分ごとに実行され、メッセージの指示どおりに実行されました。メッセージが新しいメッセージをグループに送信するコマンドである場合、それらの送信メッセージは別のデータベースに入れられ、それらのメッセージを送信する別のプロセスが定期的に実行されます。1分間に送信できるメッセージの数について通信事業者が規定した制限に達するまでメッセージを送信し、その後終了します。

これはすべて、サーバー上で実行されているサードパーティのスケジューラを使用して従来の ASP で行われました。うまくいきました。

于 2012-12-01T21:11:55.187 に答える
0

「完了」応答が得られるまで、サーバーを頻繁に (決定して) ポーリングする必要があります。

于 2012-11-30T20:55:25.507 に答える