spp2cstub(クライアントスタブ生成コマンド(サービス定義用))
形式
spp2cstub {-t {svr|clt|con} 〔-l {cs|vb}〕 〔-s 生成ファイル拡張子〕 〔-n 名前空間名称〕 〔-o 出力先ディレクトリ〕 〔-r スタブクラス名称〕 〔-R データ型定義名称:カスタムレコードクラス名称 〔,データ型定義名称:カスタムレコードクラス名称〕…〕 〔-F {space|null}〕 〔-I エンコーディング名〕 〔-O エンコーディング名〕 〔-e {big|little}〕 〔-E {big|little}〕 〔-b〕 〔-X {normal|dataset}〕 -i サービス定義ファイル名称 |-h}
機能
指定されたサービス定義ファイル,およびそのサービス定義ファイルが参照するデータ型定義ファイルを基に,クライアントスタブクラスおよびカスタムレコードクラスのソースファイルを生成します。
オプション
●-t {svr|clt|con}
生成するクライアントスタブの種類を指定します。
オプションの指定と生成されるクライアントスタブを次に示します。
オプションの指定 |
生成されるクライアントスタブ |
---|---|
svr |
SPP.NETまたはSUP.NET(Extension .NET)用 |
clt |
CUP.NET(Client .NET)用 |
con |
CUP.NET(Connector .NET)用 |
●-l {cs|vb} 〜《cs》
生成するクライアントスタブクラスおよびカスタムレコードクラスのソースファイルのプログラム言語を指定します。クライアントスタブクラスとカスタムレコードクラスは同じプログラム言語で生成されます。
このオプションを省略した場合,csが仮定されます。
オプションの指定と生成されるソースファイルのプログラム言語を次に示します。
オプションの指定 |
生成されるソースファイルのプログラム言語 |
---|---|
cs |
C# |
vb |
Visual Basic |
●-s 生成ファイル拡張子 〜〈文字列〉
生成するクライアントスタブクラスおよびカスタムレコードクラスのソースファイルの拡張子を指定します。
このオプションを省略した場合,生成されるソースファイルのプログラム言語によって,拡張子は次のようになります。
生成されるソースファイルのプログラム言語 |
生成されるソースファイルの拡張子 |
---|---|
C# |
cs |
Visual Basic |
vb |
●-n 名前空間名称 〜〈文字列〉
生成するクライアントスタブクラスおよびカスタムレコードクラスの名前空間名称を指定します。
このオプションを省略した場合,名前空間なしのクライアントスタブクラスおよびカスタムレコードクラスが生成されます。
●-o 出力先ディレクトリ 〜〈パス名〉
生成するクライアントスタブクラスおよびカスタムレコードクラスのソースファイルを出力するディレクトリを指定します。絶対パスまたは相対パスで指定してください。
このオプションを省略した場合,コマンド実行時のディレクトリに出力されます。なお,ファイル名はクライアントスタブクラスごとに「〈名前空間を含まないスタブクラス名称〉.〈拡張子〉」,カスタムレコードクラスごとに「〈名前空間を含まないカスタムレコードクラス名称〉.〈拡張子〉」で生成されます。
●-r スタブクラス名称 〜〈文字列〉
生成するクライアントスタブのクラス名称を指定します。
このオプションを省略した場合,クラス名称は「〈サービス定義名称〉Stub」になります。なお,一つのサービス定義ファイルには,一つのサービス定義しか指定できません。
●-R データ型定義名称:カスタムレコードクラス名称 〜〈文字列〉:〈31文字以内の識別子〉
データ型定義ファイルで定義しているデータ型定義名称と,それを基にして生成するカスタムレコードのクラス名称を指定します。
このオプションを省略した場合,データ型定義名称がカスタムレコードのクラス名称に使用されます。
複数のデータ型定義からカスタムレコードを生成する場合は,データ型定義名称と生成されるカスタムレコードのクラス名称をコロン(:)で区切って指定します。ただし,データ型定義に存在しないデータ型定義名称を指定した場合,存在しないデータ型定義名称は無視されます。存在するデータ型定義名称に対してだけカスタムレコードクラス名称の指定が有効になります。
●-F {space|null} 〜《space》
入力レコードとなるカスタムレコードを引数として渡す場合,データ型定義で指定した文字列領域の余った領域に埋める文字を指定します。
このオプションを省略した場合,余った領域を半角スペースで埋めます。
space:半角スペースで埋めます。
null:ヌル文字で埋めます。
●-I エンコーディング名 〜〈文字列〉
RPCで送信する要求データを,エンコードするときに従うエンコード方式のエンコーディング名を指定します。指定できるエンコーディング名については,.NET Frameworkのドキュメントを参照してください。
このオプションを省略した場合,プラットフォームのデフォルトエンコーディング名になります。
プラットフォームによってサポートされているエンコード方式は異なります。代表的なエンコーディング名は次のとおりです。
エンコーディング名 |
エンコード(Windows上の表示名) |
備考 |
---|---|---|
euc-jp |
日本語(EUC) |
− |
iso-8859-1 |
西ヨーロッパ言語(ISO) |
− |
shift_jis |
日本語(シフト JIS) |
MS932 |
unicodeFFFE |
Unicode(Big-Endian) |
− |
us-ascii |
US-ASCII |
ISO646 |
utf-8 |
Unicode(UTF-8) |
− |
utf-16 |
Unicode |
Little Endian |
- (凡例)
-
−:該当しません。
●-O エンコーディング名 〜〈文字列〉
RPCで受信した応答データを,デコードするときに従うエンコード方式のエンコーディング名を指定します。指定できるエンコーディング名については,.NET Frameworkのドキュメントを参照してください。
このオプションを省略した場合,プラットフォームのデフォルトエンコーディング名になります。
プラットフォームによってサポートされているエンコード方式は異なります。代表的なエンコーディング名については,-Iオプションの表を参照してください。
●-e {big|little} 〜《big》
RPCで送信する要求データを,指定されたエンディアンに変換します。
このオプションを省略した場合,ビッグエンディアンに変換します。
big:ビッグエンディアンに変換します。
little:リトルエンディアンに変換します。
●-E {big|little} 〜《big》
RPCで受信した応答データを,指定されたエンディアンであると仮定して変換します。
このオプションを省略した場合,ビッグエンディアンであると仮定して変換します。
big:ビッグエンディアンであると仮定して変換します。
little:リトルエンディアンであると仮定して変換します。
●-b
生成されたカスタムレコードクラスごとに必要なバッファサイズを標準出力に表示します。
- 【表示例】
CustomRecordClassName : BufferSize[Bytes] MyAppNS.Record1 : 448 MyAppNS.Record2 : 32
●-X {normal|dataset}
生成されるクライアントスタブに,引数および戻り値がXmlDocumentクラス(System.Xml.XmlDocument)となるサービスメソッドが追加されます。
また,入力データ用XMLスキーマファイルがサービスごとに出力されます。出力データ型定義名称がDC_NODATA以外の場合,出力データ用XMLスキーマファイルがサービスごとに出力されます。複数のサービスで同じデータ型定義名称を指定した場合,そのデータ型定義に対応する入力データ用XMLスキーマおよび出力データ用XMLスキーマは,一つだけ出力されます。
-tオプションにconを指定した場合だけ,このオプションの指定が有効になります。-tオプションにcon以外を指定した場合,このオプションの指定は無視されます。
このオプションを省略した場合,生成されるクライアントスタブに,引数および戻り値がXmlDocumentクラスとなるサービスメソッドは追加されません。また,入力データ用XMLスキーマファイルおよび出力データ用XMLスキーマファイルは出力されません。
normal:引数および戻り値のXmlDocumentオブジェクト(System.Xml.XmlDocument)を,.NET FrameworkのDataSetオブジェクト(System.Data.DataSet)と連携させない場合に指定します。normalを指定した場合,出力される入力データ用XMLスキーマファイルおよび出力データ用XMLスキーマファイルは,DataSetオブジェクトで利用できない場合があります。
dataset:引数および戻り値のXmlDocumentオブジェクト(System.Xml.XmlDocument)を,.NET FrameworkのDataSetオブジェクト(System.Data.DataSet)と連携させて利用する場合に指定します。datasetを指定した場合,DataSetオブジェクトで利用できる入力データ用XMLスキーマファイルおよび出力データ用XMLスキーマファイルを出力します。また,その入力データ用XMLスキーマおよび出力データ用XMLスキーマに対応したクライアントスタブを出力します。
●-i サービス定義ファイル名称 〜〈ファイル名〉
サービス定義が指定されているファイル名称を指定します。絶対パスまたは相対パスで指定してください。
●-h
このコマンドの使用方法を標準出力に表示します。
このオプションを指定した場合,ほかのオプションおよびコマンド引数は指定できません。
注意事項
-
このコマンドの実行時にエラーが発生した場合は,対応するエラーメッセージが標準エラー出力に出力されます。
-
このコマンドで生成したソースファイルの内容を変更しないでください。
-
サービス定義ファイルの#includeディレクティブには,サービス定義ファイルの存在するディレクトリからの相対パスを指定します。#includeディレクティブに相対パスを指定していない場合は,データ型定義ファイルはサービス定義ファイルと同じディレクトリになければなりません。
-
入力元となるサービス定義ファイルおよびデータ型定義ファイルは,使用するWindowsのデフォルトコードページ(日本語版Windowsの場合は932)で保存してください。Unicodeなど,ほかのコードページで保存したファイルは,このコマンドの入力元として使用できません。