From 394c40d8bb29b8e40fc7978ea638f1592b03d617 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 08 九月 2022 16:42:46 +0800
Subject: [PATCH] 修复目录订阅的状态异常
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/PresetQueryResponseMessageHandler.java | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/PresetQueryResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/PresetQueryResponseMessageHandler.java
index 45265c5..abc9440 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/PresetQueryResponseMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/PresetQueryResponseMessageHandler.java
@@ -26,6 +26,9 @@
import static com.genersoft.iot.vmp.gb28181.utils.XmlUtil.getText;
+/**
+ * 璁惧棰勭疆浣嶆煡璇㈠簲绛�
+ */
@Component
public class PresetQueryResponseMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler {
@@ -49,7 +52,11 @@
Element rootElement = null;
try {
rootElement = getRootElement(evt, device.getCharset());
-
+ if (rootElement == null) {
+ logger.warn("[ 璁惧棰勭疆浣嶆煡璇㈠簲绛� ] content cannot be null, {}", evt.getRequest());
+ responseAck(evt, Response.BAD_REQUEST);
+ return;
+ }
Element presetListNumElement = rootElement.element("PresetList");
Element snElement = rootElement.element("SN");
//璇ュ瓧娈靛彲鑳戒负閫氶亾鎴栧垯璁惧鐨刬d
@@ -61,11 +68,7 @@
}
int sumNum = Integer.parseInt(presetListNumElement.attributeValue("Num"));
List<PresetQuerySipReq> presetQuerySipReqList = new ArrayList<>();
- if (sumNum == 0) {
- // 鏁版嵁鏃犻缃綅淇℃伅
-
-
- }else {
+ if (sumNum > 0) {
for (Iterator<Element> presetIterator = presetListNumElement.elementIterator();presetIterator.hasNext();){
Element itemListElement = presetIterator.next();
PresetQuerySipReq presetQuerySipReq = new PresetQuerySipReq();
@@ -74,7 +77,7 @@
Element itemOne = itemListIterator.next();
String name = itemOne.getName();
String textTrim = itemOne.getTextTrim();
- if("PresetID".equals(name)){
+ if("PresetID".equalsIgnoreCase(name)){
presetQuerySipReq.setPresetId(textTrim);
}else {
presetQuerySipReq.setPresetName(textTrim);
--
Gitblit v1.8.0