1. ホーム
  2. web-services

[解決済み] Delphi XE用SOAPサーバー&クライアントアプリケーションVCL+Indyデモ?

2022-04-28 15:10:39

質問

Delphi には、以前は Web サービス用の demos フォルダが含まれていましたが、現在は含まれていないようです。

Delphi 7 のデモプロジェクトを試したところ ( SOAPDMServerWAD という、ほとんどUIがないサーバーと SOAPDMClient ) で、Delphi 7 でも機能させることができませんでした。

もし、Delphi XEやDelphi 2010で同じようなデモを動作させたことのある方がいらっしゃいましたら、旧来の SOAPDMServerWAD+SoapDMClient Delphi XEで動作し、少なくともDelphi SOAP Serverアプリケーションウィザードのような最小限のUIを備えたデモがあれば、完璧です。

更新しました。 Delphi 2010 までのデモが表示されますが、現在は廃止されている WAD (web-app-debugger) を使用しているため、新しい Indy に移植してみました。 runtime/web-app-development-harnessing-code が、どうにもうまくいきません。デモは動作しますが、サーバーにはユーザーインターフェースがなく、HTTPサーバーも動作していないように見えます(通常のWebブラウザーを使ってテストしています。 http://localhost:port/ のURLをクリックします。 ところで、デモをググってみると、このURLが出てくるのですが、1時間も前に質問したものです。怖いな、google。

更新情報2 以下の私自身の答えを参照してください、動作するコードのリンクはすぐに来る。

どのように解決するのですか?

SOAPのデモ一式は、以下のサイトに掲載しています。 CodeCentral のアイテム 28789 として .

これらには、Delphi 2007時代のSOAPデモの一つ一つが WebServices フォルダーをDelphi XEとXE2用に更新しました。古いWADサーバーを新しいINDY VCLサーバーに変換することも含まれています。 あなたはそれが印象的だと思うでしょう。それは本当に簡単です。ウィザードを使って新しいプロジェクトを作成し、Webサービスのインターフェースと実装ユニット、そして古いデモに属するその他のユニットをプロジェクトに追加するだけです。一度プロジェクトに追加すれば、あとは動くだけです。 基本的なデモのSOAPサーバーは、Delphiで作るのが本当に簡単です。一度、動くデモを作れば、それを修正したり拡張したりするのはとても簡単だと分かるはずです。

上の質問に対する最も良い答えとなるデモは SOAPDataModule サブフォルダを使用します。

2007年当時のデモの基本的な問題点は2つです。

  1. WAD(ウェブアプリデバッガ)はなくなりました。WAD(なくなった)を使ったり、IISの下でISAPI環境を構築したりする手間が省け、デモの目的には最適ですが、Indyサーバーを使って新しいサーバーを作らなければなりません。 私が作った新しいデモ・プロジェクトは SoapDMServerINDY データモジュール(datamod_u.pas)、VCLフォームのユーザーインターフェイスユニット( IndyServerVCLFormUnit.pas という Indy Server のウェブモジュールがあります。 IndyServerWebModule.pas .

  2. Delphi 2007のデモは、Debug/Win32サブフォルダを持つという新しい習慣のおかげで壊れました、デモの実行ファイルが今あるのは、さらに上に行く必要があります。データファイルが見つからない場合、エラーメッセージで警告するようにデモサーバーを修正し、謎の "XML parsing error" からあなたを救いました。 また、いくつかのデモでエラーチェックを追加し、このデモを動作させるには interbase をインストールする必要があることを伝えるようにしました。 一部 のデモはInterbaseがインストールされ、動作している必要があり、1つはIBLOCALというエイリアスが存在し、できれば EMPLOYEE が存在すること。

このデモの要素は、サーバー( SoapDMServerINDY SOAPDMServerWAD のコードに基づく)、およびクライアント SOAPDMClient 1 ページは DBGrid + データセットリモートによる基本的なデータアクセスを示し、2 ページ目はカスタム SOAP メソッドを呼び出す方法を示しています。

デモを使うには サーバーを起動し、スタートボタンをクリックして、クライアントを起動し、接続をクリックする必要があります。