問題: IBM Rational Developer for System z のエンタープライズ・サービス・ツールであるコンパイル済み XML 変換 (CICS、IMS、およびバッチ) の各ランタイムが、ボトムアップとミート・イン・ミドルのシナリオにおいて、戻りコード 280 から 303 で強制終了する可能性がある。コンバーターによって返される言語環境メッセージが最新の状態でないか、またはテキスト「例外メッセージの取得に失敗しました」がシステム・ログまたはコンソールに表示されます。
解決策: Rational Developer for System z の COBOL コンパイル済み XML 変換では、エラー検査が拡張されて、更新されたメッセージ番号 IGZ0280S から IGZ0298S および新規メッセージ番号 IGZ0299S から IGZ0303S が出される可能性があります。APAR PK65058 用の PTF を適用します。
Web services for CICS シナリオには、追加のマッピング・レベルおよびランタイム・レベル (2.2) のサポートがあります。このレベルで生成された成果物を使用するには、APAR PK69738 を適用した CICSTS 3.2 が必要です。
トピック『PL/I から派生した XML タイプ』の『表 6 PL/I から XML タイプへ』は誤りなので、無視してください。
問題: 必要なコピーブックが解決しないと、「エンタープライズ・サービス・ツール」ウィザードはハングする。これが起きるのは、COBOL インポーター設定ページで、エラー・メッセージの言語が en_US 以外に設定されている場合です。
解決策:
を選択して、エラー・メッセージの言語を変更します。問題: ミート・イン・ミドル開発シナリオでは、「ソース・ファイルのインポート」ウィザードで、「ファイル・システム」オプションによるインポートはサポートされていない。
回避策: 必要なファイルすべてを一般プロジェクトへコピーし、 ソース・ファイルのインポートウィザードで、「ワークスペース」を選択することによって、それらのファイルをインポートします。
IGZ0282S プログラム「PGMNAME」で XML からデータ構造への変換を完了できませんでした。これは、XML 文書のエレメント名がコンバーターによって認識されなかったためです。
解決策: コンバーターで生成された WSDL/XSD は、必ず各コンバーターと結合されている必要があります。
COBOL タイプ | COBOL UsageValue + COBOL ModelType プロパティー | 対応する XSD タイプ |
---|---|---|
packed-decimal、comp-3 -> packedDecimal | packedDecimal | 小数点が指定された場合:<xsd:simpleType> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="xx.x"/> <xsd:maxInclusive value="yy.y"/> </xsd:restriction> </xsd:simpleType> 小数点が指定されなかった場合:
<xsd:simpleType> <xsd:restriction base="xsd:short"> <xsd:minInclusive value="xxx"/> <xsd:maxInclusive value="yyy"/> </xsd:restriction> </xsd:simpleType> |
問題: エンタープライズ・サービス・ツール・プロジェクトで、スキーマをインクルード、インポート、または再定義する WSDL ファイル (元はリモート・ロケーションからインポートされたもの) を対象に、「新規サービス実装の作成 (トップダウン)」シナリオ、または「既存サービス・インターフェースのマップ (ミート・イン・ミドル)」シナリオを実行すると、エラーで失敗する。
回避策: 必要なファイルすべてをワークステーション、またはワークスペース内の一般プロジェクトへコピーし、「RMB」-「インポート」-「ソース・ファイル」を使用して、ローカルの WSDL ファイルを「Web Services for CICS プロジェクト」へインポートした後、トップダウン・シナリオを試行します。
ワークステーション COBOL コンパイラーは、コンパイル時と実行時の両方で XML PARSE ステートメントをサポートしますが、単一サービス・ウィザードで生成される COBOL プログラムは、z/OS 環境でのみ稼働するように設計されています。
IGZ0291S プログラム program-name で XML からデータ構造への変換を完了できませんでした。 これは、XML エレメントのネストの最大深さを超えたためです。 文字コンテンツ character-content が含まれているエレメント element-name でエラーが発生しました。 (IGZ0291S XML to data structure conversion could not complete in program program-name because the maximum XML element nesting depth was exceeded. The error occurred at element element-name with character content character-content.)
回避策: XML to 言語構造コンバーターは、特定の XML エレメントのネストの深さを処理できませんでした。ネスト・レベルにはオリジナル COBOL 構造を上回る許容度がありますが、その許容度を超えることがあります。スキーマにないエレメントが要求 XML 文書に存在する場合、そのエレメントのネスト・レベルが深すぎると、このような状態が生じます。
問題: 名前のないグループおよびその基本項目は、親項目が基本項目と一緒にフィルタリングされてしまうため、データ構造選択ページまたは マッピング・セッション・エディターでの選択に使用できない。
回避策: COBOL データ構造を編集して、変換の必要なグループおよび/または基本データ項目に名前を付けてください。COBOL グループに名前を付けると、FILLER 以外の基本項目が選択可能になります。
問題: ドライバー・プログラムやコンバーター・プログラムで生成された PROCESS ステートメントの OPT コンパイラー・オプションが JCL の コンパイル・オプションに指定されていると、TEST オプションと競合する。
回避策: 生成された XML コンバーター・プログラムをデバッグしたい場合は、Web サービス・ウィザードの「生成オプション」ページで「コンパイラー関連設定の指定」グループ内の「最適化」チェック・ボックスを選択解除します。
問題: COBOL データ項目が ODO 項目か、COBOL データ項目に ODO 項目が含まれている場合は、マッピング一致アクションを行う前に その ODO オブジェクトを手動でマップしない限り、互換性のある XML 構造との「マッピング一致」アクションを実行できない。
回避策: マッピング一致アクションを実行する前に、マッピング規則に従って ODO オブジェクトを手動でマップしてください。(XML 文書では、COBOL ODO オブジェクト項目にマップされたエレメントは、対応する COBOL ODO サブジェクトにマップされた XML エレメントの前に出現する必要があります。)
問題: Windows 上の Eclipse でフォルダー名およびファイル名を入力するときに大/小文字が区別される。
回避策: フォルダー名およびファイル名を矛盾がないように入力してください。例えば、ワークベンチでフォルダー名が MyFolder と表示されている場合、フォルダー名を必要とする入力フィールドには必ず MyFolder と入力してください。例えば myfolder と入力すると、ツールはこの入力に対して無効または存在しないフォルダー名としてフラグを立てます。
問題: XML コンバーターまたはドライバーへのポインターとして非ヌルの無効なポインターが指定されると、無限ループが発生する。
回避策: XML コンバーターは、呼び出し元により渡されたヌル・ポインターを検出し、報告しようとします。非ヌルの無効のポインターの場合、XML コンバーターはたぶんこれに出会うと、保護例外 (SOC4) を戻します。
エンタープライズ・サービス・ツールの単一サービス・プロジェクトで DBCS データ項目をサポートするには、要求 XML 文書と応答 XML 文書を UTF-16 または UTF-8 でエンコードする必要があります。 Web サービスのターゲット・ランタイムが CICS 用 SOAP の場合、UTF-8 または UTF-16 の XML を XML Converter Driver と交換するためのフィーチャーを構成します。Web Services for CICSランタイムは、デフォルトとして UTF-8 の XML をクライアントと交換しますが、XML Converter Driver は、CICS と XML を UTF-16 で交換します。UNICODE が必要な場合は、XML コンバーターには現時点で UTF-16 が最も有効が選択です。いずれのランタイムの場合も、UNICODE と DBCS ホスト・コード・ページ間の変換をサポートする変換イメージを使用して、UNICODE のための z/OS サポートを構成する必要があります。
問題: 「生成」->「XML ファイル」メニュー項目が XSD スキーマの制限を順守しない。エンタープライズ・サービス・ツールで作成された XSD に対して XML ファイル生成 (Generate XML File) アクションを使用すると、 無効な XML ファイルの生成につながる可能性があります。
回避策: 生成された XML ファイルを編集し、タグの内容が XSD スキーマで指定されている制限に準拠するようにします。
問題: オプションの XML ファイル (Container.xml、PlatformProperties.xml、ServicesSpecification.xml) に無効な項目があると、 バッチ・プロセッサーの実行中に NULL ポインター例外が発生することがある。
回避策: オプションの XML ファイルの項目を正しい形式に修正します。
COBOL 入力ファイルのロケーションは、ドライブ指定で始まる絶対パス (例えば、C:¥mypath¥test) として 「importDirectory 」属性に指定できる。
ディレクトリー | 説明 |
---|---|
C:¥workspace¥account_details | メイン・プロジェクト |
C:¥workspace¥account_details¥cobol_src | インポートする COBOL ソース・ファイルがあるサブディレクトリー |
C:¥workspace¥account_details¥xsebatch_config | xsebatch 用の XML 構成ファイルがあるサブディレクトリー |
<InputOutputMessage importFile="../cobol_src/DFH0ACTD.cbl"></InputOutputMessage>
または、xsebatch の呼び出し元と同じディレクトリー内に COBOL ソース・ファイルを配置することもできる。
COBOL データ名が大/小文字を区別しない場合でも、XML ファイルの指定には大/小文字の区別を正確に指定する必要がある。 例えば、COBOL データ・ソースではデータ名が MY-Data である場合、サービスが指定する XML では、nativeTypeName 属性を nativeTypeid="MY-Data" と設定する必要がある。大/小文字を区別を正確に指定しないと、データ名が見つからず、使用可能な最初のレベル 01 のデータ名がデフォルトで使用される。
表意定数 LOW-VALUE(S) および HIGH-VALUE(S) を、単一サービス・ウィザードで使用される COBOL データ構造内に指定することができる。ただし、これら表意定数のセマンティックの意味は、単一サービス・ウィザードでは無視され、これらの「エンタープライズ・サービス・ツール」単一サービス・ウィザードが生成する成果物には反映されない。
問題: エンタープライズ・サービス・ツールの単一サービス・プロジェクト名で GB18030 コード・ページの文字を使用すると、「エンタープライズ・サービス・ツール」単一サービス・ウィザードをプロジェクト内のファイルに対して実行するときにエラーが発生する。
回避策: エンタープライズ・サービス・ツールの単一サービス・プロジェクトに名前を付けるときは、GB18030 文字を使用しないでください。
問題: 「エンタープライズ・サービス・ツール」単一サービス・ウィザードを実行した後、一時ファイル (例えば、~DF45B.tmp) がエンタープライズ・サービス・ツールの単一サービス・プロジェクト・フォルダーに残ることがある。
回避策: 「エンタープライズ・サービス・ツール」単一サービス・ウィザードの実行後に、同じような名前のファイルがエンタープライズ・サービス・ツールの単一サービス・プロジェクトにある場合、そうしたファイルは削除してかまいません。
問題: 古いマッピング・ファイルのマイグレーション・プロセスの場合、参照されたマッピングされる側のソース・ファイルはマッピングする側のファイルと同じフォルダーになければならない。この要件が満たされないと、 マッピング・マイグレーション・ツールは「Resource [filename].mapping is not local」というエラー・メッセージを出して失敗します。
回避策: 「エンタープライズ・サービス・ツール」単一サービス・ウィザードの実行後に、同じような名前のプロジェクトがワークスペースにある場合、これらのプロジェクトは削除してかまいません。
問題: 古いマッピング・ファイルのマイグレーション・プロセスの場合、参照されたマッピングされる側のソース・ファイルはマッピングする側のファイルと同じフォルダーになければならない。この要件が満たされないと、 マッピング・マイグレーション・ツールは「Resource [filename].mapping is not local」というエラー・メッセージを出して失敗します。
回避策: 参照されたソース・ファイルを、マイグレーション対象のマッピング・ファイルと同じフォルダーに移動します。
問題: Web サービス・ウィザード・ページで ターゲット・フォルダー (コンバーター・フォルダー、WSDL フォルダー、または WSBIND フォルダー) の リモート・ロケーションを参照するとき、接続名が長い (例: ctfmvs08.rtp.raleigh.ibm.com) と 時間が長く掛かったり、ワークベンチがロックされることがある。
回避策: 接続名を ctfmvs08 のような短い名前に変更します。
問題: 解釈変換とコンパイル済み XML 変換のデフォルト世代により生成された XML スキーマ内の Web サービス・メッセージ・ルート要素名が一致しない。 コンパイル済み XML 変換の世代デフォルトを、解釈変換ケースに一致するように変更する必要があります。これについては、以下の「回避策」セクションに説明があります。これによってユーザーは、後に必要であれば、WSDL ファイルをリパブリッシュすることなく、また Web サービスのクライアントにおいてコード変更を行うことなく、変換タイプを解釈変換からコンパイル済み変換へ変更することが可能となります。
回避策: コンパイル済み XML 変換の成果物を生成する場合、ウィザードを使用して、解釈 XML 変換に一致するように ルート要素名を変更することができます。 新規オプション「ルート・エレメント名」は、「要求および応答 XML スキーマ・プロパティー」グループの「WSDL および XSD オプション」タブの「生成オプション」ページにあります。
例えば、COBOL グループ (A-B-C) は、メッセージ・ルート要素名が「a_b_c」という解釈変換成果物を生成します。 デフォルトのコンパイル済み変換成果物のルート要素名は「ABC」となります。 先に述べたように、ウィザードで「ABC」を「a_b_c」に変更して、解釈変換用に生成した WSDL に一致させることができます。
問題: z/OS では、区分データ・セット・メンバーの名前に DBCS 文字を使用できない。
回避策: XML コンバーター・ファイルの名前を指定するときには、DBCS 文字を除外します。また、ウィザードから提示されたデフォルト・ファイル名に、DBCS 文字が含まれていないことを確認してください。