問題タブ [iso8583]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2330 参照

c# - C#でソケット経由でIso8583メッセージを送信

ソケット経由で Iso8583 メッセージを送信しようとしていますが、使用したコードがハングしているようです!

私は何が欠けていますか?ありがとう、ベン

0 投票する
1 に答える
1956 参照

c#-4.0 - OpenISO8583.Net を別の形式に変換する

ISO8589 メッセージを金融機関に実装しようとしています。ただし、私が呼び出す Web サービスがあり、ISO8589 ペイロードを WCF サービスの適切なフィールドにロードします。

この方法で ISO8589 メッセージを作成しました。

isoMessage を人間が読める形式の ASCII に変換して Web サービスに渡す方法がわかりません。

このライブラリでこれを行う方法を知っている人はいますか? または、このライブラリを間違った方法で使用していますか?

ありがとう。

更新しました:

私はこれを行う方法を考え出しました:

ただし、次のように、OpenIso8583.Net を使用して、isoMessage を取得し、全体を 16 進文字列として簡単に渡そうとしています。

一部のフィールドは BCD、AlpahNumeric、Numeric などであるため、これが難しいことはわかっています。私が得たい結果は次のとおりです。

どんな助けでも大歓迎です!

0 投票する
2 に答える
234 参照

java - 位置 0 にバイトを挿入し、残りのデータ ビットを右シフトします。

私はこの作品を完成させるのに本当に苦労しています。考えや指針があればとても助かります。これが私の問題です:

  1. 私はISO 8583レイヤーに取り組んでおり、データ要素 32 は n ..11 として定義されています。これは、要素が数値であり、最大サイズが 11 の可変長であることを意味します。

  2. これは (ASCII ではなく) バイナリ形式で送信する必要があります。

  3. LLNN を表示する必要があります。ex ISO バイナリ raw は次のようになります: 11 06 01 04 00 00 00

これまで、BCD(06 01 04 00 00 00) で 6 の (11/2)+(11%2) サイズの byte[] 配列を完全に埋めることができました。そして、フィールドの全長を 11 として計算しました。これを byte[0] に挿入する必要がありますbyte[]。11 は 0B ではありません。つまり、 0001 0001 は 11 として1 バイトにパックされています。 (BCD ISO の最初の 255 文字) 長さフィールド値を 0b 01 04 00 00 00 として挿入するか、nBytes を 2 として渡すと、00 0b 04 00 00 00 が返されます。右シフト ロジックで問題が発生しています。 .

誰かが私を助けて、以下のロジックを修正して、結果を 11 06 01 04 00 00 00 にすることができますか

0 投票する
0 に答える
358 参照

iso8583 - サブフィールドOpenIso8583.Netのサブメッセージを作成するためにAMessageを拡張する方法

OpenIso8583.Net を使用して ISO メッセージを生成していますが、サブ フィールドのメッセージの生成に問題があることを除けば、すべてが完璧です。

私は達成するために AMessage クラスを拡張しなければならないことを知っていますが、明らかに私はそれについてすべて間違っています。

簡単な例はどれも大いに役立ちます。コードを貼り付けますが、これまでのところ役に立たないので、この投稿が ISO 8583 仕様のサブフィールドで作業したことがある人にとって意味があることを願っています

http://code.google.com/p/openiso8583net/ 上記は私が使用しているライブラリへのリンクです

ありがとう

0 投票する
1 に答える
1187 参照

iso8583 - ISO 8583 サブメッセージを作成する方法

ISO 8583 メッセージのサブメッセージを作成しようとしています。John Coxley による OpenISO8583.NET ライブラリを使用しています。

結果の ISO サブメッセージは次のようになります。

私の仕様によると、サブメッセージには 8 バイトのビットマップが必要なので、私のメッセージは次のようになります。

次に、位置 9 の可変長フィールド (最大 17 文字と 3 桁の長さインジケータ) で、私の値は次のようになります。

0172013012895943184:

(017 は長さインジケータで、残りは渡される値です)

ただし、このメッセージを送信しようとしているアプリケーションによると、サブメッセージの欠陥を特定できる人がいる場合、私のメッセージは正しくありません。MIL に感謝します。

私は今、この値を 2 週間把握しようとしています。

0 投票する
1 に答える
1677 参照

java - 電話回線で ISO8583 ホスト (ダイヤルアップ NAC) にデータを送信する方法、クライアントは JAVA ですか?

Java で記述された ISO8583 クライアントを構築しています。専用の電話番号 (アナログ) を持つ NAC でホストされている ISO8583 ホストに送信する必要があります。

クライアント (PC) は TCP/IP データを生成しています。理想的には、電話番号を呼び出してデータ パケットを送信し、応答データ パケットを受信する必要があります。

私はすべての Iso8583 パーツを使い終え、IP->IP でも動作します。IP(TCP) -> アナログ電話回線 (HOST) で動作するようにセットアップする方法を知りたいです。

ありがとう、ラージ

0 投票する
3 に答える
423 参照

java - Socket Host Echo が「応答しない」

Socket programming最近拾ったでこの奇妙な問題が発生しています。clientがと通信するために Socket を使用できることを理解していhostます。このプロジェクトISO8583にも必要です。私はすでに動作するコードを取得しており、独自のテスト ホストで動作するように変更しています。

すべてが順調で、私のコードは実際に動作しますが、私が直面した 1 つの問題は、まったく応答がないことでした。私のコンピューターからホストに送信された要求は機能します。ホストは正しいメッセージを表示し、応答を私のコンピューターに送り返します。しかし、その時点でアプリがハングする理由はわかりません。デバッグモードでも、値を返すことなく、行 (実行中の行を示します) を継続的に実行しています。これは以下の私のコードです。非常に面倒で、応答値を取得するために多くの方法を試しています。

私は.readObject().readLine () を試して、うまくいけば応答出力を取得し、両方とも同じ問題を実行しました。終わりのない実行。残念ながら、私はこれにどのようにアプローチすべきかについてのアイデアがありません。テスト ホストから応答を受け取ることは非常に重要です。だから私はあなたたちが与えることができるどんな助けにも感謝します. 前もって感謝します。

0 投票する
0 に答える
1204 参照

iso8583 - ISO 8583 AMEX カード発行

ISO8583への実装を行いました。AMEXカードの鍵付き取引を行う場合を除いて、すべての取引が機能します。

ドキュメントの状態:

Track 2 Data および Primary Account Number (PAN) フィールドは、異なる形式に従う数値データ要素のインスタンスです。可変長データの桁数が奇数の場合、右端の半バイトを X '0 に設定します。 '。

ただし、AMEX カード番号に 0 を追加すると、INVALID CARD NUMBER 応答が返されます。15 桁のカード番号を送信しても、応答はまったく受信されません。

また、ドキュメントの他の場所でも言及されています:

ビットマップ 2 — プライマリ アカウント番号 フィールド名 説明 最大 19 桁の変数 (必要に応じて、最後の ½ バイトは 2 進数のゼロが埋め込まれます)、1 バイトの長さインジケータが前に付きます。

コメント このフィールドは、カード会員の口座番号を識別します。ほとんどの数値フィールドとは異なり、プライマリ アカウント番号は左揃えです。この場合、右端のバイトは 1/2 バイトの 2 進ゼロで埋められます (たとえば、3 桁フィールド X '03 12 30')。

カード番号が奇数の場合、何か特別なことはありますか?