-1

Javaライブラリ(edtftpj)を使用して、TomcatサーバーでホストされているWebアプリからMVSシステムにファイルをFTPで転送しています。

FTP転送モードはASCIIであり、転送はFTPストリームを使用して行われます。文字列変数からのデータは、MVSデータセットに保存されます。

問題は、すべてのアンパサンド文字がに変換されること&です。\&、^&、X'50'(16進値)などのさまざまなエスケープ文字を試しましたが、どれも役に立ちませんでした。

アンパサンドを逃れる方法を知っている人はいますか?

4

2 に答える 2

2

FTP プロトコルには、このエンコード動作を引き起こすものはありません。

XML ベースのエスケープ表現&として表現します。他のシステムでも同じスキームが使用される場合がありますが、標準として、これは XML 標準エンコーディングです。&

データの読み取りとデータの書き込みの何かが、この情報をエスケープする必要があると考え、エンコードを行っています。

MVS システム上の何かが Java を使用している場合は、SOAP を介して他のコネクタと通信している可能性があります。これは、XML を意味し、エスケープ シーケンスが発生している可能性があります。

いずれにせよ、FTP プロトコル自体は問題の一部ではありません。ASCII 転送は行末のようなもののみをエンコードする必要があり&すでに有効な ASCII 文字であり、影響を受けません。どちらかといえば、このエスケープを行っているのは MVS システムです。

バイナリ転送は、生のバイトの解釈やエンコードを行わないため、ほとんどの場合に好まれます。

于 2012-03-29T17:36:34.690 に答える
-1

MVS (z/OS) との間で ASCII モードで FTP を使用すると、データ接続のために常にコード ページ変換 (つまり、ASCII <-> EBCDIC) が実行されます。したがって、データセットの種類とページ コードに応じて、適切なパラメーターを使用して接続をセットアップすることが非常に重要です。例:

site SBD=(IBM-037,ISO8859-1)
site TRAck
site RECfm=FB
site LRECL=80
site PRImary=5
site SECondary=5
site BLKsize=6233
site Directory=50

別の方法として、BINARY モードを使用し、受信側でいくつかの標準ツールまたはライブラリを使用して手動で変換を実行します。


参照リンク:

1. コードページの問題に取り組むためのコマンドを事前設定します。
2. MVS ホスト上の FTP を介して ASCII を EBCDIC に変換します。
3. MVS との間でファイルを転送する。
4. FTP コード ページの変換。
5. FTP ファイル転送プロトコルと Z/OS (pdf)。

于 2012-03-29T18:53:35.047 に答える