有人可以解释我SOAPHandler
的handleFault(SOAPMessageContext context)
方法何时被调用吗?
我的处理程序类是:
public class WebServiceHandler implements SOAPHandler<SOAPMessageContext> {
private void dumpSOAPMessage(SOAPMessage msg) {
if (msg == null) {
System.out.println("SOAP Message is null");
return;
}
System.out.println("");
System.out.println("--------------------");
System.out.println("DUMP OF SOAP MESSAGE");
System.out.println("--------------------");
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
msg.writeTo(baos);
System.out.println(baos.toString(getMessageEncoding(msg)));
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean handleMessage(SOAPMessageContext context) {
try {
dumpSOAPMessage(((SOAPMessageContext) context).getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
@Override
public boolean handleFault(SOAPMessageContext context) {
// TODO Auto-generated method stub
System.out.println("Inside handle fault:: " + context);
return true;
}
@Override
public void close(MessageContext context) {
// TODO Auto-generated method stub
}
@Override
public Set<QName> getHeaders() {
Set<QName> set = new HashSet<QName>();
return set;
}
}
任何一个可以解释的时候handleMessage
和handleFault
方法被调用?
根据:http : //docs.oracle.com/cd/E13222_01/wls/docs103/webserv_adv/handlers.html#wp222524
handleMessage:
在后端组件处理该消息之前和之后,将调用Handler.handleMessage()方法来拦截SOAP消息请求。
和
handleFault:
实现此方法以处理handleMessage()方法生成的任何SOAP错误以及后端组件生成的错误的处理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句