メインクラスをまったく使用するのではなく、クライアントシミュレーターを使用して、クライアントシミュレーター展開記述子を、あなたが書いたQBeanを使用するもので置き換えます。programmers guideの7.4-7.6。 MUXを作成するためにコードを変更するだけで(ClientSimulatorコードをベースとして使用することができます)、それを使用してクライアント・シミュレータが要求するようにする必要があります。
ここでは、開始面で要求を送信し、応答を出力するサンプルQBeanがあります。
package stack.examples;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.MUX;
import org.jpos.iso.packager.ISO87APackager;
import org.jpos.q2.QBeanSupport;
import org.jpos.q2.iso.QMUX;
public class SendMessageQBean extends QBeanSupport{
@Override
protected void startService() throws Exception {
super.startService();
ISOMsg request = new ISOMsg();
request.setMTI("0200");
request.set(2, "16");
request.set(2, "5421287475388412");
request.set(3, "000000");
request.set(4, "400.0");
request.set(7, "0716070815");
request.set(11, "844515");
MUX mux = QMUX.getMUX(cfg.get("dest-mux", "clientsimulator-mux"));
log.info("sending request", request);
ISOMsg response = mux.request(request, cfg.getInt("timeout", 5000));
log.info("received response", response);
}
}
これが正しい方向に向いていますか?
また、ここで基本概念を理解するためのメインを書く場合は、ミニマムコード(マルチプレクサ、ロガーなどはありません)があります。
package stack.examples;
import java.io.IOException;
import org.jpos.iso.ISOChannel;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.ISOPackager;
import org.jpos.iso.channel.XMLChannel;
import org.jpos.iso.packager.XMLPackager;
public class JposClient {
public static void main(String[] args) throws ISOException, IOException {
ISOPackager packager = new XMLPackager();
ISOChannel channel = new XMLChannel("localhost", 10000,packager);
channel.connect();
ISOMsg request = new ISOMsg();
request.setMTI("0200");
request.set(2, "16");
request.set(2, "5421287475388412");
request.set(3, "000000");
request.set(4, "400.0");
request.set(7, "0716070815");
request.set(11, "844515");
channel.send(request);
ISOMsg response = channel.receive();
response.dump(System.out, "response:");
}
}
ご回答ありがとうございます。クライアントシミュレーターはecho_sファイルを要求として受け取ります。echo_sの代わりにQBeanを使用するように指定するにはどうすればよいですか? –
こんにちは、あなた自身のQBeanを書く必要があります。私が書いたのは、準備が整ったサンプルコードです。次に、クライアントシミュレータのxml記述子を、書き込んだクラスを指す記述子で置き換えます。 私が言及している概念を理解するために、私の記事で参照されているプログラマーガイドを読む必要があります。ここでは簡単な答え/ショートカットはありません。質問から、isoメッセージを送信するためのJavaコードを記述したいと思っていました。これは、isoメッセージを作成してサーバーに送信するQBeanの例を書いたからです。あなたがメインを書くことについて話していたので、私はそれを推測しました。 –
HI @DavideTamburrino私は、答えを –