ターミナルを使用したプロキシ・クラスの作成とテスト
Web サービス・クライアント・ウィザードを使用するほかに、ターミナルと %SOAP.WSDL.ReaderOpens in a new tab クラスを使用してプロキシ・クラスを作成することもできます。
-
ターミナルを開きます。使用するネームスペースはどれでもかまいません。サンプルをより現実的なものとするために、サービス・コードを含むネームスペースと異なるネームスペースを使用できます。
-
Web サービス・プロデューサの WSDL ドキュメントの URL を変数に割り当てます。
SAMPLES> Set wsdl="http://localhost:57772/csp/user/SOAPTutorial.SOAPService .cls?WSDL=1"
この例では、Caché Web サーバ・ポートは規定値の 57772 です。ユーザのシステム上のポートはこれとは異なる場合があります。ご使用のシステムのポートを特定するには、管理ポータルの [概要] リンクをクリックします。
-
%SOAP.WSDL.ReaderOpens in a new tab のインスタンスを作成し、その Process メソッドを使用して Web サービスのプロキシ・クラスを生成します。Process の 2 番目の引数で、生成されるクラスのパッケージ名を制御します。
SAMPLES> Set reader=##class(%SOAP.WSDL.Reader).%New() SAMPLES> Do reader.Process(wsdl,"ContactApplication")
以下は、ターミナル・セッションの画面です。
-
プロキシ・クラス ContactApplicaiton.SOAPServiceSoap のインスタンスを作成してテストします。
SAMPLES> Set service = ##class(ContactApplication.SOAPServiceSoap).%New() SAMPLES> Set contact = service.GetContact(1) SAMPLES> Write contact.Name Vanzetti,Dmitry W. SAMPLES> Write contact.ContactType Personal
Web サービスが含まれる CSP アプリケーションがパスワードで保護されている場合、プロキシ・クラスを生成する前に、有効な Caché ユーザ名とパスワードを WSDL URL に追加する必要があります。これは、&CacheUserName=<user name>&CachePassword=<password> を WSDL URL に追加することで実行できます。
また、Web サービスを実行するときに、ユーザ名とパスワードを送信するための SOAP ヘッダを作成する必要があります。この作成方法の詳細は、"Caché Web サービスの保護" の "ユーザ名トークンの追加" を参照してください。