From 475b8a49a320f346579064f789693556ab4f9560 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 23 五月 2024 17:44:30 +0800
Subject: [PATCH] 优化录像文件信息入库
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java
old mode 100644
new mode 100755
index 8e1b6d8..f3f7431
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/SIPRequestProcessorParent.java
@@ -3,9 +3,9 @@
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
+import com.google.common.primitives.Bytes;
import gov.nist.javax.sip.message.SIPRequest;
import gov.nist.javax.sip.message.SIPResponse;
-import org.apache.commons.lang3.ArrayUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
@@ -171,6 +171,7 @@
return getRootElement(evt, "gb2312");
}
public Element getRootElement(RequestEvent evt, String charset) throws DocumentException {
+
if (charset == null) {
charset = "gb2312";
}
@@ -203,10 +204,26 @@
result.add(rawContent[i]);
}
}
- Byte[] bytes = new Byte[0];
- byte[] bytesResult = ArrayUtils.toPrimitive(result.toArray(bytes));
+ byte[] bytesResult = Bytes.toArray(result);
- Document xml = reader.read(new ByteArrayInputStream(bytesResult));
+ Document xml;
+ try {
+ xml = reader.read(new ByteArrayInputStream(bytesResult));
+ }catch (DocumentException e) {
+ logger.warn("[xml瑙f瀽寮傚父]锛� 鍘熸枃濡備笅锛� \r\n{}", new String(bytesResult));
+ logger.warn("[xml瑙f瀽寮傚父]锛� 鍘熸枃濡備笅锛� 灏濊瘯鍏煎鎬у鐞�");
+ String[] xmlLineArray = new String(bytesResult).split("\\r?\\n");
+
+ // 鍏煎娴峰悍鐨刟ddress瀛楁甯︽湁<鐮存崲xml缁撴瀯瀵艰嚧鏃犳硶瑙f瀽xml鐨勯棶棰�
+ StringBuilder stringBuilder = new StringBuilder();
+ for (String s : xmlLineArray) {
+ if (s.startsWith("<Address")) {
+ continue;
+ }
+ stringBuilder.append(s);
+ }
+ xml = reader.read(new ByteArrayInputStream(stringBuilder.toString().getBytes()));
+ }
return xml.getRootElement();
}
--
Gitblit v1.8.0