Commit 9b21fba871d5dc1698024f251c52d47b5ab0e966

Authored by 648540858
1 parent e7282337

解析xml异常时,回复400

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/MessageRequestProcessor.java
@@ -77,7 +77,14 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement @@ -77,7 +77,14 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement
77 sipSubscribe.getErrorSubscribe(callIdHeader.getCallId()).response(eventResult); 77 sipSubscribe.getErrorSubscribe(callIdHeader.getCallId()).response(eventResult);
78 }; 78 };
79 }else { 79 }else {
80 - Element rootElement = getRootElement(evt); 80 + Element rootElement = null;
  81 + try {
  82 + rootElement = getRootElement(evt);
  83 + } catch (DocumentException e) {
  84 + logger.warn("解析XML消息内容异常", e);
  85 + // 不存在则回复404
  86 + responseAck(evt, Response.BAD_REQUEST, e.getMessage());
  87 + }
81 String name = rootElement.getName(); 88 String name = rootElement.getName();
82 IMessageHandler messageHandler = messageHandlerMap.get(name); 89 IMessageHandler messageHandler = messageHandlerMap.get(name);
83 if (messageHandler != null) { 90 if (messageHandler != null) {
@@ -98,8 +105,6 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement @@ -98,8 +105,6 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement
98 logger.warn("参数无效", e); 105 logger.warn("参数无效", e);
99 } catch (ParseException e) { 106 } catch (ParseException e) {
100 logger.warn("SIP回复时解析异常", e); 107 logger.warn("SIP回复时解析异常", e);
101 - } catch (DocumentException e) {  
102 - logger.warn("解析XML消息内容异常", e);  
103 } 108 }
104 } 109 }
105 110