gpt4 book ai didi

java - SOAPHandler handleFault

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:32 27 4
gpt4 key购买 nike

SOAPHandlerhandleFault(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;
}
}

谁能解释一下 handleMessagehandleFault 方法何时被调用?

最佳答案

显示句柄错误的实现

    @Override
public boolean handleFault(SOAPMessageContext context) {
SOAPMessage message = context.getMessage();
SOAPBody body = message.getSOAPBody();
SOAPFault fault = body.getFault();
String code = fault.getFaultCode();
String faultString = fault.getFaultString();
Detail detail = fault.getDetail();

if(detail!=null){
Iterator<SOAPElement> iter = detail.getChildElements();
//Getting first level of detail
HashMap<String, String> detailMap = new HashMap<String, String>();
while(iter.hasNext()){
SOAPElement element = iter.next();
detailMap.put(element.getLocalName(), element.getValue());
}
//Logging or whatever
}

}
return true;
}

关于java - SOAPHandler handleFault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24821151/

27 4 0
文章推荐: java - 什么时候在 String.subString 上使用 String.subSequence 方法?
文章推荐: ios - CoreBluetooth : Cant discover the device 问题
文章推荐: ios - Ipad 图标大小 Ipad 设置 ios 5-7 29pt 1x 2x - iPad spotlight ios 7 40 pt - iPad app ios 7 76 pt
文章推荐: Java 8 使用 stream() 将 List 提取/转换为 Map>