2011-05-01 4 views
1

나는 SOAP 클라이언트를 만들기 위해 Axis와 협력 중이다. 어딘가에 완전한 http 요청 및 응답을 인쇄하고 싶습니다. SOAP 봉투를 인쇄하는 핸들러를 생성 할 수있었습니다. 어떻게하면 전체 http를 출력 할 수 있습니까?Axis : 로그 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; 
    } 
} 
+0

이 링크에는 구현이 완료되었습니다.> https://developervisits.wordpress.com/2017/06/20/apache-axis-logging-of-soap-requestresponse-programmatically/ – Rajeev

답변

0

이 단계에서 요청 및 응답 핸들러는 아마 완전한 요청 및 응답이 없습니다. 아마도 Axis Servlet이 HTTP Handler를 처리 할 것입니다. 필터를 작성하고 전체 요청 및 응답을 기록하려고 시도 했습니까?

관련 문제