アプリケーション ビジネス レイヤーを REST Web サービスのコレクションに移行したいと考えています。しかし、私たちのイントラネットのほとんどはクラシック ASP を使用して構築されており、私が働いているほとんどの開発者はクラシック ASP でプログラミングを続けています。理想的には、Web API の独自のセットの利点を活用するには、従来の ASP ページから呼び出す必要があります。
私はそれを行う方法が少しもわかりません。
アプリケーション ビジネス レイヤーを REST Web サービスのコレクションに移行したいと考えています。しかし、私たちのイントラネットのほとんどはクラシック ASP を使用して構築されており、私が働いているほとんどの開発者はクラシック ASP でプログラミングを続けています。理想的には、Web API の独自のセットの利点を活用するには、従来の ASP ページから呼び出す必要があります。
私はそれを行う方法が少しもわかりません。
JQuery と JSON 呼び出しの組み合わせを使用して、クライアントから REST サービスを利用できます。
また
ASPレイヤーからRESTサービスと対話する必要がある場合は、使用できます
MSXML2.ServerXMLHTTP
お気に入り:
Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "GET", "Rest_URI", False
HttpReq.send
@KP _
実際にはMSXML2.ServerXMLHTTP
、ASP/サーバー側アプリケーションから使用する必要があります。XMLHTTP
サーバー/サービス アプリでの使用がサポートされていない WinInet を使用するため、クライアント側でのみ使用する必要があります。
http://support.microsoft.com/kb/290761の質問3、4、5および
http://support.microsoft.com/kb/238425/ .
これは非常に重要です。そうしないと、Web アプリがハングアップし、あらゆる種類の奇妙なナンセンスが発生します。
クラス ASP ページから Web サービスを呼び出す方法を説明するいくつかの記事を次に示します。
ここに示されている多くの回答は、ClassicASP を使用して Web サービスと REST 呼び出しを使用する方法をカバーしているように見えます。
私の意見では、よりきちんとしたソリューションは、ClassicASP が REST 形式でデータを提供することです。可能であれば、ブラウザベースのクライアント コードで「マッシュアップ」を処理します。これは、他の ASP コンポーネントを組み込むことなく実行できるはずです。
では、ClassicASP でピカピカの新しい REST サポートをモックアップする方法を次に示します。
JSON との間でフォーム データをデコード/エンコードするサポート クラスを使用すると、クライアント側の実装が容易になる (そして、渡されるデータの量が潜在的に合理化される) ため、メリットがあります。クラシック ASP で JSON を解析するための良いライブラリはありますか?の会話を参照してください。
最後に、クライアント側で、Verb、Url、およびデータ ペイロードを受け取るメソッドを提供します。短期的には、メソッドはパラメーターを照合し、ランディング パッドに転送します。長期的には (クラシック ASP から切り替えると)、メソッドはデータを「実際の」URL に送信できます。
幸運を...
もう 1 つの可能性は、WinHttpRequest COM オブジェクトを使用して WinHttp COM オブジェクトを使用することです。
WinHttp は、サーバー コードから使用できるように設計されています。
必要なのは HTTP クライアントだけです。.Net では、WebRequest がうまく機能します。従来の ASP の場合、このような特定のコンポーネントが必要になります。