<div class="information"> 원문 : http://blog.naver.com/puresprout77/60028953685 </div>

SOAP 모니터 사용하기#

웹 서비스 개발자들은 웹 서비스를 호출할때 사용되는 SOAP 메시지를 종종 볼 필요성이 생긴다. 이 SOAP 모니터 도구는 어떤 특별한 환경설정이나 서버의 재시작없이 SOAP 메시지를 모니터할 수 있도록 한다.

이 도구는 하나의 핸들러를 가지고 있고 이를 전역 핸들러 체인에 추가해야 한다. SOAP 요청, 응답 메시지를 받을때 SOAP 메시지 정보가 SOAP 모니터 서비스로 전달되고 웹 브라우저를 통해서 볼 수 있다. SOAP 메시지 정보는 http://localhost:8080/axis2/SOAPMonitor 이 위치에서 확인할 수 있다. SOAP 메시지 정보는 SOAP 모니터 서비스와 소켓 연결을 맺은 애플릿을 통해 나타난다. 이 애플릿은 Java plug-in 1.3 이상이 설치되어 있어야 한다. 애플릿과 통신을 위해 사용된 SOAP 모니터 서비스의 포트는 변경이 가능하다. Axis2 웹 애플리케이션의 web.xml 파일을 수정하면 된다.

SOAP 모니터 모듈(soapmonitor.mar)은 axis2.war에서 available(이용가능한) 상태이지만 engaged(작동중인) 상태는 아니다. SOAP 모니터는 axis2.xml 파일에서 다음 한줄을 삽입함으로서 engaged 상태가 될 수 있다.

<module ref="soapmonitor"/>

그런 다음 soapmonitor.mar 파일내에는 module.xml 파일이 있는데, 이 파일내용중 "soapmonitorPhase" 부분이 있다. axis2.xml 파일에서 "soapmonitorPhase"가 들어갈 순서를 정하고 그 위치에 분흥색 바탕색의 문장을 삽입하면 된다. 만일 axis2 1.1.1 이 설치되어 있다면 기본적으로 그 부분이 삽입되어 있을 것이다.

<phaseOrder type="inflow">
    <!--  System pre defined phases       -->
    .
    .
    .
    <!--  System pre defined phases       -->
    <!--   After Postdispatch phase module author or or service author can add any phase he want      -->
    <phase name="OperationInPhase"/>
    <phase name="soapmonitorPhase"/>
</phaseOrder>
<phaseOrder type="outflow">
    <!--      user can add his own phases to this area  -->
    <phase name="soapmonitorPhase"/>
    <phase name="OperationOutPhase"/>
    <!--system predefined phase-->
    <!--these phase will run irrespective of the service-->
    <phase name="PolicyDetermination"/>
    <phase name="MessageOut"/>
</phaseOrder>
<phaseOrder type="INfaultflow">
 .
 .
 .
    <!--      user can add his own phases to this area  -->
    <phase name="OperationInFaultPhase"/>
    <phase name="soapmonitorPhase"/>
</phaseOrder>
<phaseOrder type="Outfaultflow">
    <!--      user can add his own phases to this area  -->
    <phase name="soapmonitorPhase"/>
    <phase name="OperationOutFaultPhase"/>
    <phase name="PolicyDetermination"/>
    <phase name="MessageOut"/>
</phaseOrder>

애플릿과 통신하는 서블릿의 환경을 설정하기 위해서는 web.xml 파일을 수정한다.

<servlet>
 <servlet-name>SOAPMonitorService</servlet-name>
 <display-name>SOAPMonitorService</display-name>
 <servlet-class>org.apache.axis2.soapmonitor.servlet.SOAPMonitorService</servlet-class>
 <init-param>
  <param-name>SOAPMonitorPort</param-name>
  <param-value>5001</param-value>
 </init-param>
 <load-on-startup>100</load-on-startup>
</servlet>

<servlet-mapping>
 <servlet-name>SOAPMonitorService</servlet-name>
 <url-pattern>/SOAPMonitor</url-pattern>
</servlet-mapping>

마지막으로, 서블릿 컨테이너의 webapps/axis2/WEB-INF/lib/axis2-soapmonitor-1.0.jar 파일안에 있는 SOAPMonitorApplet*.class 파일 모두를 webapps/axis2에 복사한다.

웹 브라우저에서 http://localhost:8080/axis2/SOAPMonitor 로 접근하면 서비스 요청과 응답을 볼 수 있게끔 애플릿이 나타날 것이다.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 03-Aug-2007 16:25 by DongGukLee