Interstage Application Server Smart Repository運用ガイド
目次 索引 前ページ次ページ

第6章 アプリケーションの作成(C API)> 6.3 サンプルプログラム

6.3.2 サンプルプログラムの実施手順

 サンプルプログラムのコンパイルから実行までの手順について説明します。

コンパイル手順

Windows Server 2003 for Itanium-based Systems版ではない場合

  1. “C:\Interstage\IREPSDK\sample\C”フォルダ配下のすべてのファイル/フォルダを作業フォルダにコピーします。
     
  2. Microsoft(R) Visual C++(R) .NET Standard、Microsoft(R) Visual C++(R) .NET Standard 2003、または Microsoft(R) Visual Studio(R) 2005で作業フォルダ配下の build\JA\build.sln ファイルを開きます。
     

     “build”フォルダで提供しているファイルはMicrosoft(R) Visual C++(R) .NET Standard向けのソリューションファイル、およびプロジェクトファイルです。Microsoft(R) Visual C++(R) .NET Standard 2003、またはMicrosoft(R) Visual Studio(R) 2005 を使用する場合は、ソリューション、またはプロジェクト起動時に各バージョンの形式に変換する旨の確認表示があります。画面の指示に従って形式を変換して使用してください。
     
  3. コンパイルオプションを設定します。設定方法は、“コンパイル/リンクの際のオプション”を参照してください。
     
  4. 接続するリポジトリサーバの環境に合わせて、サンプルソースのパラメタ値を変更します。該当するパラメタについては、“パラメタ一覧”を参照してください。なお、パラメタの詳細については、“リファレンスマニュアル(API編)”の“C言語インタフェース”-“Smart Repositoryインタフェース”にある各関数パラメタの説明を参照してください。
     
  5. Microsoft(R) Visual C++(R) .NET Standard、Microsoft(R) Visual C++(R) .NET Standard 2003、または Microsoft(R) Visual Studio(R) 2005でコンパイルするサンプルに対応するプロジェクトをビルドします。ビルドが完了すると、“build\JA”フォルダ配下に、“Release”フォルダ、またはプロジェクトファイル名と同名のフォルダが作成され、実行ファイルが格納されます。

    Microsoft(R) Visual C++(R) .NET Standard、Microsoft(R) Visual C++(R) .NET Standard 2003、または Microsoft(R) Visual Studio(R) 2005 の使用方法については、各製品に付属のヘルプなどを参考にしてください。
     

Windows Server 2003 for Itanium-based Systems版の場合

  1. 以下のファイル/フォルダを、Visual Studio(R) 2005がインストールされているマシンの作業フォルダにコピーします。

     

  2. Microsoft(R) Visual Studio(R) 2005で作業フォルダ配下の build\JA\build.sln ファイルを開きます。
     
  3. コンパイルオプションを設定します。設定方法は、“コンパイル/リンクの際のオプション”を参照してください。
     
  4. 接続するリポジトリサーバの環境に合わせて、サンプルソースのパラメタ値を変更します。該当するパラメタについては、“パラメタ一覧”を参照してください。なお、パラメタの詳細については、“リファレンスマニュアル(API編)”の“C言語インタフェース”-“Smart Repositoryインタフェース”にある各関数パラメタの説明を参照してください。
     
  5. Microsoft(R) Visual Studio(R) 2005でコンパイルするサンプルに対応するプロジェクトをビルドします。ビルドが完了すると、“build\JA”フォルダ配下に、“Itanium\Release”フォルダ、およびプロジェクトファイル名と同名の実行ファイルが格納されます。
     
  6. 生成された実行ファイルを、Windows Server 2003 for Itanium-based Systems版上にコピーして実行します。
     
    Microsoft(R) Visual Studio(R) 2005の使用方法については、Microsoft(R) Visual Studio(R) 2005付属のヘルプなどを参考にしてください。
     
  1. “C:\Interstage\IREPSDK\sample\C”フォルダ配下のすべてのファイル/フォルダを作業フォルダにコピーします。
     
  2. Microsoft(R) Windows Server 2003 SP1 Platform SDKの開発環境プロンプトを開きます。
     
  3. コンパイルオプションを設定します。設定方法は、“コンパイル/リンクの際のオプション”を参照してください。
     
  4. 接続するリポジトリサーバの環境に合わせて、サンプルソースのパラメタ値を変更します。該当するパラメタについては、“パラメタ一覧”を参照してください。なお、パラメタの詳細については、“リファレンスマニュアル(API編)”の“C言語インタフェース”-“Smart Repositoryインタフェース”にある各関数パラメタの説明を参照してください。
     
  5. 作業フォルダのmake_jp.batを実行します。ビルドが完了すると、カレントフォルダに実行ファイルが格納されます。

     

  1. “/opt/FJSVirepc/sample/C”配下のすべてのファイルを作業ディレクトリにコピーします。
     
  2. 作業ディレクトリに“書き込み”の権限の設定と、ディレクトリの所有者の変更をします。

    chmod -R +w example
    chown -R owner:group example

     

  3. 接続するリポジトリサーバの環境に合わせて、サンプルソースのパラメタ値を変更します。該当するパラメタについては、“パラメタ一覧”を参照してください。なお、パラメタの詳細については、“リファレンスマニュアル(API編)”の“C言語インタフェース”-“Smart Repositoryインタフェース”にある各関数パラメタの説明を参照してください。
     
  4. makeコマンドによりサンプルプログラムをコンパイルします。makeコマンドの実行の際に、「makefile」ファイルが存在することを確認してください。“サンプルプログラムのファイル一覧”にある各LDAP操作のソースファイルに対応する実行ファイルが作成されます。

パラメタ一覧

 パラメタ一覧を以下に示します。

 

サンプル種別(注)

パラメタ

概要

備考

共通パラメタ

host

接続するリポジトリサーバのホスト名、またはIPアドレス

 

port

リポジトリサーバのポート番号

デフォルトのポート番号は以下のようになります。
- LDAP_PORT: 389
- LDAP_SSL_PORT: 636(SSL通信用)

binddn

BINDするためのDN

 

passwd

BINDするためのパスワード

 

sslenv

SSLENV構造体のアドレス

構造体の各メンバについては、“リファレンスマニュアル(API編)”の “Smart Repositoryインタフェース”- “ldapssl_init()”を参照してください。

エントリの検索

s_base

サーチベースのDN

 

scope

検索対象範囲

以下のどれか1つを指定します。
- LDAP_SCOPE_BASE: s_baseで指定したエントリを検索
- LDAP_SCOPE_ONELEVEL: s_baseで指定したエントリの1階層下のエントリを検索
- LDAP_SCOPE_SUBTREE: s_baseで指定したエントリとその配下の全エントリの中から検索

filter

検索フィルタ

すべてのエントリを検索する場合は、“(objectClass=*)”を指定してください。

attrs

通知する属性名

複数の属性名を配列で指定します。配列の最後には、NULLを設定する必要があります。

属性値の比較

cmp_dn

比較を行うエントリのDN

 

attr

比較を行う属性名

 

value

比較対象の文字列データ

 

エントリの変更

mod_dn

変更するエントリのDN

 

mods

変更する属性情報

(LDAPMod構造体のポインタ配列のアドレス)

構造体の各項目に設定する値は、“リファレンスマニュアル(API編)”の “Smart Repositoryインタフェース”-“ldap_modify()”を参照してください。

エントリの変名

old_dn

変名するエントリのDN

 

new_dn

変名後のDN

変名後のDNをもつエントリが存在しないように、サンプルプログラム内で事前にエントリが削除されます。

new_rdn

新しいRDN

 

mods

追加する属性情報

(LDAPMod構造体のポインタ配列のアドレス)

サンプルプログラム内で変名するエントリが事前に作成されます。構造体の各項目に設定する値は、“リファレンスマニュアル(API編)”の “Smart Repositoryインタフェース”- “ldap_add()”を参照してください。

NMODS

追加するエントリの属性の数

modsの配列長を指定してください。

work_area

作業用の構造体

日本語を扱う場合に、modsの内容に合わせ変更する必要があります。

エントリの追加

add_dn

追加するエントリのDN

 

mods

追加する属性情報

(LDAPMod構造体のポインタ配列のアドレス)

構造体の各項目に設定する値は、“リファレンスマニュアル(API編)”の “Smart Repositoryインタフェース”- “ldap_add()”を参照してください。

NMODS

追加する属性名の数

modsの配列長を指定してください。

work_area

作業用の構造体

日本語を扱う場合に、modsの内容に合わせ変更する必要があります。

エントリの削除

del_dn

削除するエントリのDN

 

注)サンプル種別は、“サンプルプログラムのファイル一覧”と対応しています。

実行手順


 SDKのライブラリ(libirepldap2.so)へのパスを解決してください。

 

 上記で作成された実行ファイルを直接実行します。

1)エントリの変更(同期型)

# ./modattrs ・・・ サンプルプログラム実行
./modattrs is start
./modattrs: ldap_init( "host1", 389 )
./modattrs: ldap_set_option( LDAP_OPT_PROTOCOL_VERSION, 3 )
./modattrs: ldap_simple_bind_s( "cn=manager,ou=interstage,o=fujitsu,dc=com", "******" )
./modattrs: ldap_modify_s( "uid=100001,ou=interstage,o=fujitsu,dc=com", ****** )
./modattrs: ldap_unbind( )
./modattrs is normal end

 例1では、サンプルプログラムが正常に終了したことを示します。なお、上記はSolaris版の実行例です。

2)サンプルプログラムが失敗する場合(非同期型エントリ検索)

# ./search ・・・ サンプルプログラム実行
./search is start
./search: ldap_init( "host1", 389 )
./search: ldap_set_option( LDAP_OPT_PROTOCOL_VERSION, 3 )
./search: ldap_simple_bind_s( "cn=manager,ou=interstage,o=fujitsu,dc=com", "******" )
ldap_simple_bind_s: Can't contact LDAP server
./search: ldap_unbind( )
./search is abnormal end

 例2では、サンプルプログラム(search.c)中のldap_simple_bind_s()でエラーとなっています。エラーメッセージ「Can't contact LDAP server」から、リポジトリサーバが起動されていない、または接続先サーバ情報に誤りがあるなどの原因が考えられます。

 サンプルプログラムで出力されるメッセージについては、“メッセージ集”の“LDAPエラーコード”を参照してください。

 なお、上記はSolaris版の実行例です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007