You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../../index.htm#lansa/webserviceseng01_0350.htm]
現在地: Webサービス > Webサービスの利用 > チュートリアル 3 - Web サービスを利用した .NET との相互運用性 > ユーザー認証サービスのテスト

ユーザー認証サービスのテスト

再利用可能パーツ ExternalWindowsUserServices が完成したので、このテストを行います。
TestWindowsUserServicesModule という名前のサーバー・モジュールを作成し、次のコードをこのサーバー・モジュールに追加します。

  • フィールド
    Define Field(#Fld_Domain) Type(*NVARCHAR) Length(200)
    Define Field(#Fld_UserName) Type(*NVARCHAR) Length(200)
    Define Field(#Fld_Password) Type(*NVARCHAR) Length(1000)
  • サーバー・ルーチン
    Srvroutine Name(TestAuthenticateUser)
       Field_Map For(*INPUT) Field(#Fld_Domain) Parameter_Name(Domain)
       Field_Map For(*INPUT) Field(#Fld_UserName) Parameter_Name(UserName)
       Field_Map For(*INPUT) Field(#Fld_Password) Parameter_Name(Password)
       Field_Map For(*OUTPUT) Field(#Fld_Message) Parameter_Name(Message)
       * ExternalWindowsUserServices 再利用可能パーツのインスタンス作成
       Define_Com Class(#ExternalWindowsUserServices) Name(#Services)
       * 呼び出しステータス・オブジェクトのインスタンス作成
       Define_Com Class(#ExternalServiceInvocationStatus) Name(#Status)
       *  'Authenticate' メソッドの起動
       #Services.Authenticate Domain(#Fld_Domain) Username(#Fld_UserName) Password(#Fld_Password) Invocationstatus(#Status)
       * OK ではない場合、エラー・メッセージを取得
       If (*Not #Status.OK)
          #Fld_Message := #Status.ErrorMessage
       Endif
    Endroutine
    Web ページを作成して、サーバー・モジュールを呼び出します。
    Evtroutine Handling(#Com_owner.Initialize)
       Define_Com Class(#TestWindowsUserServicesModule.TestAuthenticateUser) Name(#Authenticate)
       Define_Com Class(#PRIM_DC.UnicodeString) Name(#Message)
       * サーバー・ルーチン経由で Copy サービスを起動
       * ソースとターゲット・ファイルのパスは要調整
       #Authenticate.Execute Domain('MyDomain') UserName('MyUserName') Password('MyPassword') Message(#Message)
       * サーバー・ルーチンがエラー・メッセージを返しているか確認
       If (#Message.CurChars > 0)
          #SYS_WEB.Alert( #Message )
       Else
          #SYS_WEB.Alert( 'All good!')
       Endif
    Endroutine
    次は: サービスで HTTPS を利用するよう構成
    [ |../../../index.htm#lansa/webserviceseng01_0350.htm]
  • No labels