#java #web-services #soap #client #axis
#java #веб-сервисы #soap #клиент #ось
Вопрос:
Я работаю с Axis над созданием SOAP-клиента. Я хотел бы напечатать где-нибудь полный http-запрос и ответ. Мне удалось создать обработчик, который печатает конверты SOAP. Как я могу расширить его для печати полного http?
public class CustomMessageHandler extends GenericHandler {
HandlerInfo hi;
public void init(HandlerInfo info) {
hi = info;
System.out.println("CustomMessageHandler initialized");
}
public QName[] getHeaders() {
return hi.getHeaders();
}
public boolean handleRequest(MessageContext context) {
try {
SOAPMessageContext smc = (SOAPMessageContext) context;
SOAPMessage msg = smc.getMessage();
System.out.println("request:");
msg.writeTo(System.out);
System.out.println("");
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
public boolean handleResponse(MessageContext context) {
try {
SOAPMessageContext smc = (SOAPMessageContext) context;
SOAPMessage msg = smc.getMessage();
System.out.println("response:");
msg.writeTo(System.out);
System.out.println("");
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
}
Комментарии:
1. Эта ссылка содержит завершенную реализацию-> developervisits.wordpress.com/2017/06/20 /…
Ответ №1:
Обработчик запросов и ответов на этом этапе, вероятно, не будет иметь полного запроса и ответа. Возможно, это сделает сервлет Axis или HTTP-обработчик. Пробовали ли вы написать фильтр и регистрировать полный запрос и ответ?