From 020f9ea8a05165979afe6a1736abcce29ed6a2f8 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 23 八月 2022 11:01:53 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0'
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java
index 82d790f..cf7d112 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageHandlerAbstract.java
@@ -6,7 +6,11 @@
import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Autowired;
+import javax.sip.InvalidArgumentException;
import javax.sip.RequestEvent;
+import javax.sip.SipException;
+import javax.sip.message.Response;
+import java.text.ParseException;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -14,7 +18,7 @@
public abstract class MessageHandlerAbstract extends SIPRequestProcessorParent implements IMessageHandler{
- public static Map<String, IMessageHandler> messageHandlerMap = new ConcurrentHashMap<>();
+ public Map<String, IMessageHandler> messageHandlerMap = new ConcurrentHashMap<>();
public void addHandler(String cmdType, IMessageHandler messageHandler) {
messageHandlerMap.put(cmdType, messageHandler);
@@ -23,6 +27,10 @@
@Override
public void handForDevice(RequestEvent evt, Device device, Element element) {
String cmd = getText(element, "CmdType");
+ if (cmd == null) {
+ handNullCmd(evt);
+ return;
+ }
IMessageHandler messageHandler = messageHandlerMap.get(cmd);
if (messageHandler != null) {
messageHandler.handForDevice(evt, device, element);
@@ -37,4 +45,17 @@
messageHandler.handForPlatform(evt, parentPlatform, element);
}
}
+
+ public void handNullCmd(RequestEvent evt){
+ try {
+ responseAck(evt, Response.OK);
+ } catch (SipException e) {
+ throw new RuntimeException(e);
+ } catch (InvalidArgumentException e) {
+ throw new RuntimeException(e);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ return;
+ }
}
--
Gitblit v1.8.0