Ось: регистрировать http-запрос и ответ SOAP

#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-обработчик. Пробовали ли вы написать фильтр и регистрировать полный запрос и ответ?