Commit 9b21fba871d5dc1698024f251c52d47b5ab0e966
1 parent
e7282337
解析xml异常时,回复400
Showing
1 changed file
with
8 additions
and
3 deletions
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 | ... | ... |