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 77 sipSubscribe.getErrorSubscribe(callIdHeader.getCallId()).response(eventResult);
78 78 };
79 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 88 String name = rootElement.getName();
82 89 IMessageHandler messageHandler = messageHandlerMap.get(name);
83 90 if (messageHandler != null) {
... ... @@ -98,8 +105,6 @@ public class MessageRequestProcessor extends SIPRequestProcessorParent implement
98 105 logger.warn("参数无效", e);
99 106 } catch (ParseException e) {
100 107 logger.warn("SIP回复时解析异常", e);
101   - } catch (DocumentException e) {
102   - logger.warn("解析XML消息内容异常", e);
103 108 }
104 109 }
105 110  
... ...