我正在托管一项网络服务。我想处理这个场景,以防客户端发送格式错误的XML
这是我创建的处理程序
public boolean handleMessage(SOAPMessageContext smc)
{
Boolean outboundProperty =
(Boolean)smc.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
SOAPMessage message = null;
try
{
// This handling iss required in case a mal-formed XML is sent.
message = smc.getMessage();
}
catch(Throwable t )
{
// I want to log the XML in the database
// But the problem is I don't know how to get the XML
// as message is null.
}
}
我进入catch(Throwable t)块,我没有关于发送的XML的信息。 我可以登录到错误日志表只是客户端发送了格式错误的XML。
实际要求:
记录和存储格式错误的XML以进行跟踪。
答案 0 :(得分:0)
请使用以下代码获取soap消息中的确切行号和异常以进行日志记录:
public boolean handleMessage(SOAPMessageContext mc) {
try {
final SOAPMessage message = mc.getMessage();
String i = convertToString(message);
System.out.println(i);
return true;
} catch (Exception e) {
System.out.println(e.getMessage());
// e.printStackTrace();
return false;
}
}
本规范将处理任何格式错误的SOAP消息