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,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 |