- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试编写一个在套接字上模拟 ISO 服务器的 stub 。当我收到消息时,我得到类似这样的信息:
[pool-1-thread-5] ERROR com.solab.iso8583.MessageFactory - ISO8583 MessageFactory has no parsing guide for message type ffffff50 [ r$$? ??A??#9i.....
控制台消息:
Parsing incoming message: r$$? ??A??#@& i?....
我不知道我收到的消息类型..
为什么它有这么奇怪的编码?我该如何解决?
服务器代码:
public class SocketServer implements Runnable {
private static final Log log = LogFactory.getLog(SocketServer.class);
private static ScheduledExecutorService threadPool = Executors.newScheduledThreadPool(5);
private static MessageFactory messageFactory;
private Socket socket;
public SocketServer(Socket socket){
this.socket = socket;
}
public void run() {
int count = 0;
byte[] bufferLenght = new byte[2];
try{
while (socket != null && socket.isConnected()
&& Thread.currentThread().isAlive()
&& !Thread.currentThread().isInterrupted()){
if (socket.getInputStream().read(bufferLenght) == 2){
int size = ((bufferLenght[0] & 0xff) << 8) | (bufferLenght[1] & 0xff);
byte[] buffer = new byte[size];
socket.getInputStream().read(buffer);
count++;
threadPool.schedule(new Processor(buffer, socket), 400, TimeUnit.MILLISECONDS);
}
}
} catch (IOException e) {
e.printStackTrace();
}
log.debug(String.format("Count of requests: %d", count));
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
class processor 处理消息...
private class Processor implements Runnable{
private byte[] message;
private Socket socket;
public Processor(byte[] buffer, Socket socket){
this.message = buffer;
this.socket = socket;
}
public void run() {
try{
System.out.println(String.format("Parsing incoming message: %s", new String(message)));
IsoMessage request = messageFactory.parseMessage(message,4);
IsoMessage response = messageFactory.createResponse(request);
response.setField(11, request.getField(11));
response.setField(7, request.getField(7));
response.write(socket.getOutputStream(), 2);
} catch (ParseException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
主要
public static void main(String[] args) throws IOException {
messageFactory = ConfigParser.createFromClasspathConfig("config.xml");
System.err.println("Setting up server socket...");
ServerSocket serverSocket = new ServerSocket(8583);
System.err.println("Waiting for connections...");
while (true){
Socket socket = serverSocket.accept();
System.err.println(String.format("New connection from %s:%d", socket.getInetAddress(), socket.getPort()));
new Thread(new SocketServer(socket),"iso8583 server").start();
}
}
}
我的 config.xml 的一部分:
<parse type="0100">
<field num="2" type="NUMERIC" length="20" />
<field num="3" type="NUMERIC" length="6" />
<field num="4" type="AMOUNT" />
<field num="7" type="DATE10" />
..............
<field num="62" type="LLLVAR" />
<field num="63" type="LLLVAR" />
<field num="64" type="LLLVAR" />
</parse>
提前致谢!
最佳答案
消息似乎是二进制编码的,您没想到会这样?或者反过来,也许(消息是 ASCII 编码的,你正试图以二进制编码读取它)
关于java - J8583: ISO8583 MessageFactory 没有消息类型 "ffffff50"的解析指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68728814/
在 Azure 服务总线中,您可以使用 QueueClient 和 MessageFactory 发送代理消息。我想知道您为什么要使用其中一种而不是另一种。 最佳答案 Azure 服务总线提供了不同的
有人知道 javax.xml.soap.MessageFactory 的实例是否是线程安全的吗? 我找不到任何相关的文档。 最佳答案 如果您没有看到关于某些东西是否是线程安全的文档,您应该假设它不是。
javax.xml.soap.MessageFactory是否可以重用? IE。 msgFactory = MessageFactory.newInstance(); 我可以缓存 msgFactory
org.apache.logging.log4j.Logger 的文档说 /** * Logs a message with parameters at the given level
我尝试编写一个在套接字上模拟 ISO 服务器的 stub 。当我收到消息时,我得到类似这样的信息: [pool-1-thread-5] ERROR com.solab.iso8583.MessageF
我正在使用 j8583 iso 解析器来解析 ISO 消息 (0800 2020000000800000 000000 000001 3239313130303031)。 下面是我的java代码: p
我想使用一些简单的依赖注入(inject)和模拟来测试我们的 Twilio 集成。在我看来,最简单的方法是使用 mockito 拦截以下消息 create 调用: val messageFactory
我需要从我的应用程序中与两个网络服务通信。对于一个网络服务,我需要使用 soap1_1 版本,而对于另一个 soap 版本,我需要使用 soap1_2。在这种情况下,应该为系统属性“javax.xml
当我在 weblogic 中部署 Web 服务客户端应用程序时,遇到以下错误。 [此应用程序在 tomcat 中运行没有任何问题。] Cannot resolve reference to bean
我是一名优秀的程序员,十分优秀!