From 22441ad5a130b1802af2c5ebe5083e8297edb682 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 17 十月 2022 17:23:46 +0800
Subject: [PATCH] Merge pull request #643 from XiaoQiTong/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java
index b6643e3..5e6c39d 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/MobilePositionResponseMessageHandler.java
@@ -20,10 +20,12 @@
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.sip.InvalidArgumentException;
import javax.sip.RequestEvent;
+import javax.sip.ServerTransaction;
import javax.sip.SipException;
import javax.sip.message.Response;
import java.text.ParseException;
@@ -63,16 +65,22 @@
@Override
public void handForDevice(RequestEvent evt, Device device, Element rootElement) {
+ ServerTransaction serverTransaction = getServerTransaction(evt);
+
try {
rootElement = getRootElement(evt, device.getCharset());
if (rootElement == null) {
logger.warn("[ 绉诲姩璁惧浣嶇疆鏁版嵁鏌ヨ鍥炲 ] content cannot be null, {}", evt.getRequest());
- responseAck(evt, Response.BAD_REQUEST);
+ try {
+ responseAck(serverTransaction, Response.BAD_REQUEST);
+ } catch (SipException | InvalidArgumentException | ParseException e) {
+ logger.error("[鍛戒护鍙戦�佸け璐 绉诲姩璁惧浣嶇疆鏁版嵁鏌ヨ BAD_REQUEST: {}", e.getMessage());
+ }
return;
}
MobilePosition mobilePosition = new MobilePosition();
mobilePosition.setCreateTime(DateUtil.getNow());
- if (!StringUtils.isEmpty(device.getName())) {
+ if (!ObjectUtils.isEmpty(device.getName())) {
mobilePosition.setDeviceName(device.getName());
}
mobilePosition.setDeviceId(device.getDeviceId());
@@ -129,8 +137,13 @@
jsonObject.put("speed", mobilePosition.getSpeed());
redisCatchStorage.sendMobilePositionMsg(jsonObject);
//鍥炲 200 OK
- responseAck(evt, Response.OK);
- } catch (DocumentException | SipException | InvalidArgumentException | ParseException e) {
+ try {
+ responseAck(serverTransaction, Response.OK);
+ } catch (SipException | InvalidArgumentException | ParseException e) {
+ logger.error("[鍛戒护鍙戦�佸け璐 绉诲姩璁惧浣嶇疆鏁版嵁鏌ヨ 200: {}", e.getMessage());
+ }
+
+ } catch (DocumentException e) {
e.printStackTrace();
}
}
--
Gitblit v1.8.0