spp2tsp(TSP生成コマンド(サービス定義用))
形式
spp2tsp {〔-l {cs|vb}〕 〔-s 生成ファイル拡張子〕 〔-n 名前空間名称〕 〔-o 出力先ディレクトリ〕 〔-r クラス名称〕 〔-t soap〕 〔-S {doc|rpc}〕 〔-x {literal|encoded}〕 〔-w XML Web サービスで使用するXML名前空間名称〕 〔-N SOAPメッセージに関連づけられる名前空間名称〕 〔-B {wsibp11|none}〕 〔-A {true|false}〕 〔-p Connector .NETが利用する構成定義のプロファイルID〕 〔-R データ型定義名称:カスタムレコードクラス名称 〔,データ型定義名称:カスタムレコードクラス名称〕…〕 〔-F {space|null}〕 〔-I エンコーディング名〕 〔-O エンコーディング名〕 〔-e {big|little}〕 〔-E {big|little}〕 〔-b〕 〔-d〕 -g サービスグループ名 -i サービス定義ファイル名称 |-h}
機能
指定されたサービス定義ファイルおよびそのサービス定義ファイルが参照するデータ型定義ファイルを基に,TSP実装クラス,XML Webサービスクラス,asmxファイル,カスタムレコードクラス,クライアントスタブ,および構成ファイルを生成します。
オプション
●-l {cs|vb} 〜《cs》
生成するTSP実装クラス,XML Webサービスクラス,カスタムレコードクラス,およびクライアントスタブクラスのソースファイルのプログラム言語を指定します。
このオプションを省略した場合,csが仮定されます。
オプションの指定と生成されるTSP実装クラス,XML Webサービスクラス,カスタムレコードクラス,およびクライアントスタブクラスのソースファイルのプログラム言語を次に示します。
オプションの指定 |
生成されるソースファイルのプログラム言語 |
---|---|
cs |
C# |
vb |
Visual Basic |
●-s 生成ファイル拡張子 〜〈文字列〉
生成するTSP実装クラス,XML Webサービスクラス,カスタムレコードクラス,およびクライアントスタブの拡張子を指定します。
このオプションを省略した場合,生成されるTSP実装クラス,XML Webサービスクラス,カスタムレコードクラス,およびクライアントスタブクラスのソースファイルのプログラム言語によって,拡張子は次のようになります。
生成されるソースファイルのプログラム言語 |
生成されるソースファイルの拡張子 |
---|---|
C# |
cs |
Visual Basic |
vb |
●-n 名前空間名称 〜〈文字列〉
生成するTSP実装クラス,XML Webサービスクラス,カスタムレコードクラス,およびクライアントスタブクラスの名前空間名称を指定します。
このオプションを省略した場合,名前空間なしのTSP実装クラス,XML Webサービスクラス,カスタムレコードクラス,およびクライアントスタブが生成されます。
●-o 出力先ディレクトリ 〜〈パス名〉
生成するTSP実装クラス,XML Webサービスクラス,asmxファイル,カスタムレコードクラス,クライアントスタブ,および構成ファイルを出力するディレクトリを指定します。絶対パスまたは相対パスで指定してください。
このオプションを省略した場合,コマンド実行時のディレクトリに出力されます。
●-r クラス名称 〜〈文字列〉
生成するTSP実装クラス,XML Webサービスクラス,およびクライアントスタブクラスのクラス名称,ならびに構成ファイルのファイル名称を指定します。
このオプションを指定した場合と省略した場合のクラス名称およびファイル名称は次のとおりです。
クラスおよびファイル |
生成されるクラス名称およびファイル名称 |
|
---|---|---|
オプションを指定した場合 |
オプションを省略した場合 |
|
TSP実装クラス |
〈クラス名称〉Proxy |
〈サービス定義名称〉Proxy |
XML Webサービスクラス |
〈クラス名称〉WebService |
〈サービス定義名称〉WebService |
クライアントスタブクラス |
〈クラス名称〉Stub |
〈サービス定義名称〉Stub |
構成ファイル |
〈TSP実装クラス名称〉.config |
〈サービス定義名称〉Proxy.config |
なお,上記の表の〈クラス名称〉部分だけが,-rオプションで指定するクラス名称です。
●-t soap
XML Webサービスクラスを生成します。
このオプションを省略した場合,XML Webサービスクラスは生成されません。
●-S {doc|rpc} 〜《doc》
XML Webサービスメソッドとの間で送受信されるSOAPメッセージの書式を指定します。このオプションは,-tオプションを指定した場合にだけ有効です。指定しなかった場合,-Sオプションの指定は無視されます。
このオプションを省略した場合,docが仮定されます。
オプションの指定と送受信されるSOAPメッセージの書式を次に示します。
オプションの指定 |
送受信されるSOAPメッセージの書式 |
---|---|
doc |
XML Webサービスメソッドとの間で送受信されるSOAPメッセージの書式は,Documentになります。 |
rpc |
XML Webサービスメソッドとの間で送受信されるSOAPメッセージの書式は,RPCになります。 |
●-x {literal|encoded} 〜《literal》
XML Webサービスメソッドとの間で送受信されるSOAPパラメタの書式指定スタイルを指定します。このオプションは,-tオプションを指定した場合かつSOAPメッセージの書式がDocumentの場合にだけ有効です。-tオプションを指定しなかった場合,-xオプションの指定は無視されます。
-Sオプションにrpcを指定した場合,-xオプションの指定は無視され,encodedが仮定されます。
このオプションを省略した場合,literalが仮定されます。
オプションの指定と送受信されるSOAPパラメタの書式指定スタイルを次に示します。
オプションの指定 |
送受信されるSOAPパラメタの書式指定スタイル |
---|---|
literal |
XML Webサービスメソッドとの間で送受信されるSOAPパラメタの書式指定スタイルは,Literalになります。 |
encoded |
XML Webサービスメソッドとの間で送受信されるSOAPパラメタの書式指定スタイルは,Encodedになります。 |
●-w XML Web サービスで使用するXML名前空間名称 〜〈文字列〉
XML Webサービスで使用するXML名前空間名称を指定します。このオプションは,-tオプションを指定した場合にだけ有効です。指定しなかった場合,-wオプションの指定は無視されます。
このオプションを省略した場合の名前空間名称は,.NET Frameworkのデフォルト値になります。.NET Frameworkのデフォルト値については,.NET Frameworkのドキュメントを参照してください。
●-N SOAPメッセージに関連づけられる名前空間名称 〜〈文字列〉
XML Webサービスメソッドに対するSOAP要求,およびSOAP応答に関連づける名前空間を指定します。このオプションは,-tオプションを指定した場合にだけ有効です。指定しなかった場合,-Nオプションの指定は無視されます。また,メソッドごとに名前空間名称を指定することはできません。
このオプションを省略した場合の名前空間名称は,.NET Frameworkのデフォルト値になります。.NET Frameworkのデフォルト値については,.NET Frameworkのドキュメントを参照してください。
●-B {wsibp11|none}
XML Webサービスクラスが,WS-I Basic Profile 1.1に準拠するかどうかを宣言します。このオプションは-tオプションを指定し,かつ-Sオプションにdocを指定した場合だけ有効です。これらのオプションを指定しなかった場合は,-Bオプションの指定は無視されます。
wsibp11:XML Webサービスクラスが,WS-I Basic Profile 1.1に準拠していることを宣言します。XML Webサービスクラスに,WebServiceBinding.ConformsToプロパティの値としてWsiProfiles.BasicProfile1_1が付加されます。
none:XML Webサービスクラスが,WS-I Basic Profile 1.1に準拠していることを宣言しません。XML Webサービスクラスに,WebServiceBinding.ConformsToプロパティの値としてWsiProfiles.Noneが付加されます。
●-A {true|false}
XML WebサービスクラスのWebサービス記述言語(WSDL)ファイルで,WS-I Basic Profile準拠の表示をするかどうかを指定します。このオプションは-Bオプションを指定した場合だけ有効です。このオプションを省略した場合,WSDLファイルでWS-I Basic Profile準拠に関する表示はされません。
true:WSDLファイルで,-Bオプションで指定したWS-I Basic Profile準拠の表示をします。XML Webサービスクラスに,WebServiceBinding.EmitConformanceClaimsプロパティの値としてtrueが付加されます。
false:WSDLファイルで,-Bオプションで指定したWS-I Basic Profile準拠の表示をしません。XML Webサービスクラスに,WebServiceBinding.EmitConformanceClaimsプロパティの値としてfalseが付加されます。
●-p Connector .NETが利用する構成定義のプロファイルID 〜〈文字列〉
Connector .NETが使用する構成定義のプロファイルIDを指定します。
このオプションが省略された場合,デフォルトプロファイルの情報を利用してConnector .NETを使用します。
●-R データ型定義名称:カスタムレコードクラス名称 〜〈文字列〉:〈31文字以内の識別子〉
データ型定義ファイルで定義しているデータ型定義名称と,それを基にして生成するカスタムレコードのクラス名称を指定します。
このオプションを省略した場合,データ型定義名称がカスタムレコードのクラス名称に使用されます。
複数のデータ型定義からカスタムレコードを生成する場合は,データ型定義名称と生成されるカスタムレコードのクラス名称をコロン(:)で区切って指定します。ただし,データ型定義に存在しないデータ型定義名称を指定した場合,存在しないデータ型定義名称は無視されます。存在するデータ型定義名称に対してだけカスタムレコードクラス名称の指定が有効になります。
●-F {space|null} 〜《space》
入力レコードとなるカスタムレコードを引数として渡す場合,データ型定義で指定した文字列領域の余った領域に埋める文字を指定します。
このオプションを省略した場合,余った領域を半角スペースで埋めます。
space:半角スペースで埋めます。
null:ヌル文字で埋めます。
●-I エンコーディング名 〜〈文字列〉
TP1/Serverへの送信データをエンコードするときに従うエンコード方式のエンコーディング名を指定します。指定できるエンコーディング名については,.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 エンコーディング名 〜〈文字列〉
TP1/Serverから受け取った受信データをデコードするときに従うエンコード方式のエンコーディング名を指定します。指定できるエンコーディング名については,.NET Frameworkのドキュメントを参照してください。
このオプションを省略した場合,プラットフォームのデフォルトエンコーディング名になります。
プラットフォームによってサポートされているエンコード方式は異なります。代表的なエンコーディング名については,-Iオプションの表を参照してください。
●-e {big|little} 〜《big》
TP1/Serverへの送信データを,指定されたエンディアンに変換します。
このオプションを省略した場合,ビッグエンディアンに変換します。
big:ビッグエンディアンに変換します。
little:リトルエンディアンに変換します。
●-E {big|little} 〜《big》
TP1/Serverから受け取った受信データを,指定されたエンディアンであると仮定して変換します。
このオプションを省略した場合,ビッグエンディアンであると仮定して変換します。
big:ビッグエンディアンであると仮定して変換します。
little:リトルエンディアンであると仮定して変換します。
●-b
生成されたカスタムレコードクラスごとに必要なバッファサイズを標準出力に表示します。バッファプーリング機能を使用する場合で,バッファサイズの見積もりを行うときに使用します。
- 【表示例】
CustomRecordClassName : BufferSize[Bytes] MyAppNS.Record1 : 448 MyAppNS.Record2 : 32
●-d
-Fオプションでnullを指定し,かつ-tオプションを指定した場合,XML Webサービスクラスで出力レコードの文字領域の末尾のヌル文字を削除します。文字領域の末尾の文字がヌル文字でなくなるまでヌル文字を削除します。
このオプションを指定した場合,XML Webサービスクラスでヌル文字を削除しません。-Fオプションでnullを指定し,かつ-tオプションを指定しない場合,このオプションの指定は無視されます。
●-g サービスグループ名 〜〈31文字以内の識別子〉
呼び出したいSPP.NETまたはSPPのサービスグループ名を指定します。
このオプションの指定値をXML Webサービス生成後に変更したい場合は,サービスグループ名を構成ファイル(Web.configまたはmachine.config)に指定します。詳細については,「2.6.3 TSPの動作設定」を参照してください。
●-i サービス定義ファイル名称 〜〈ファイル名〉
サービス定義が指定されているファイル名称を指定します。絶対パスまたは相対パスで指定してください。
●-h
このコマンドの使用方法を標準出力に表示します。
このオプションを指定した場合,ほかのオプションおよびコマンド引数は指定できません。
注意事項
-
このコマンドの実行時にエラーが発生した場合は,対応するエラーメッセージが標準エラー出力に出力されます。
-
このコマンドで生成したソースファイルの内容は変更しないでください。
-
サービス定義ファイルの#includeディレクティブには,サービス定義ファイルの存在するディレクトリからの相対パスを指定します。#includeディレクティブに相対パスを指定していない場合は,データ型定義ファイルはサービス定義ファイルと同じディレクトリになければなりません。
-
入力元となるサービス定義ファイルおよびデータ型定義ファイルは,使用するWindowsのデフォルトコードページ(日本語版Windowsの場合は932)で保存してください。Unicodeなど,ほかのコードページで保存したファイルは,このコマンドの入力元として使用できません。
-
データ型定義名称と構造体名称で同じ名称を使用したデータ型定義を利用したサービス定義から,XML Webサービスを生成した場合,XML型名の重複によって,実行時にエラーとなります。そのため,データ型定義名称と構造体名称で同じ名称を使用しないようにしてください。一つのサービス定義が参照するデータ型定義が複数あり,その中に同じデータ型定義名称または構造体名称がある場合も,同様にエラーとなります。