2013-09-04 5 views
11

プログラムのコンフィグレーションファイルで指定されている動的WSDLの操作とパラメータはどうすれば使用できますか?DelphiでWSDLを動的に使用する

[Section] 
WSDL=http://example.com/SomePub/ws/SomeService?wsdl 
Username=myuser 
Password=mypass 
OperationName=MyOperation 
ParameterName=MyParameter 

すなわち:例えば、我々は、設定ファイルを

を持っています私たちは未知であるが、実行時に(ini-fileによって)指定されたWebサービスを使用する必要があります。したがって、DelphiではWSDL Importウィザードを使用できません。

設定からこれらの設定をロードし、与えられたWSDLで指定されたWebサービス上の指定されたパラメータで指定された操作にデータを渡すようなプログラムをDelphiで記述できますか?

+1

静的に使用することについての素晴らしい点は、IDEでコンパイル時の型の安全性とコード補完を得ることです。あなたのコードでは、データがどのように転送されているのか、XMLが何であるのかを知る必要はありません。すべてがDelphi構造にうまくマッピングされているからです。だからあなたはそれを動的に使う特別な理由がありますか? –

+0

はい、Wouter、私はする必要があります。 – vladon

+1

これを本当に行う必要があるなら、delphiは仕事のための適切なツールではなく、Javaや.NETのようなJIT言語で目標を達成するのがより簡単になります。 – whosrdaddy

答えて

2

SOAPUIを使用して、サービスをインポートし、サンプル呼び出しを実行します。生の要求と生の応答をメモ帳にコピーします。実際のデータを 'tags'で修正し、それぞれの生のテンプレートをINIの値として含めます。電話をする必要があるときは、INIを開き、生の応答テンプレートを取得し、タグを実際の値に置き換えます。 SOAP要求を手動で送信し、同じ方法で、生のテンプレートを使用して応答を解析します。

0

Delphi WSDLインポータとFree Pascal Webサービスツールキットは、WSDLに基づいて動的にSOAPリクエストを構築する方法を提供しません。

Webサービスツールキット(およびWSDLインポータ)はソースコード生成ツールであるため、まずコードをコンパイルする必要があります。これはアプリケーションにコンパイラを組み込む必要があります。

関連する問題