soap monitor

วิธีการดู Soap Messages ระหว่างการ request และ respone data บน  web services ด้วย SoapMonitor ของ Axis 1.4

 

** กรณีที่ติดตั้ง Axis และ set path เสร็จแล้ว

 

1.complie SoapMonitorApplet.java เข้าไปที่ ..\axis-1_4\webapps\axis\

เปิด command line (cmd) ขึ้นมา แล้วใช้คำสั่ง

 

On Windows

javac -classpath %AXIS_HOME%\lib\axis.jar SOAPMonitorApplet.java

 

On Unix

javac -classpath $AXIS_HOME/lib/axis.jar SOAPMonitorApplet.java

 

Copy SOAPMonitorApplet*.class files ทั้งหมดจาก ..\axis-1_4\webapps\axis\

 (i.e. SOAPMonitorApplet*.class) ไปไว้ที่ ..\ apache-tomcat-5.5.26\webapps\axis\

 

2.สร้าง file deploy_monitor.wsdd แล้ว save ไว้ที่ ..\axis-1_4\webapps\axis\

 

<deployment xmlns="http://xml.apache.org/axis/wsdd/"

            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

         <handler name="soapmonitor"

           type="java:org.apache.axis.handlers.SOAPMonitorHandler">

              <parameter name="wsdlURL"

             value="/axis/SOAPMonitorService-impl.wsdl"/>

              <parameter name="namespace"

               value="http://tempuri.org/wsdl/2001/12/SOAPMonitorService-impl.wsdl"/>

              <parameter name="serviceName" value="SOAPMonitorService"/>

              <parameter name="portName" value="Demo"/>

     </handler>

     <service name="SOAPMonitorService" provider="java:RPC">

              <parameter name="allowedMethods" value="publishMessage"/>

              <parameter name="className"

               value="org.apache.axis.monitor.SOAPMonitorService"/>

              <parameter name="scope" value="Application"/>

     </service>

</deployment>

 

3. Deploy

            เปิด command line เข้าไปที่..\axis-1_4\webapps\axis\

 

 

On Windows

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient-lhttp://localhost:8080/axis/services/AdminService deploy-monitor.wsdd

 

On UNIX

java -cp $AXISCLASSPATH org.apache.axis.client.AdminClient-lhttp://localhost:8080/axis/services/AdminService deploy-monitor.wsdd

 

Deploy แบบ SSL

 

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy-monitor.wsdd -uwsuser -wwspwd

 

** -cp ย่อมาจาก –ClASSPATH

 

 

4. แ้ก้ไข file deploy_xxxx.wsdd ของ web services ที่ต้องการดู Soap Messages เข้าไปที่  C:\axis-1_4\com\arg\services

 

แทรก code นี้เข้าไป ใน deploy_calculator.wsdd

 

   <service name="xmltoday-delayed-quotes" provider="java:RPC">

     <requestFlow>

      <handler type="soapmonitor"/>

                                              </requestFlow>

                                              <responseFlow>

       <handler type="soapmonitor"/>

    </responseFlow>
 

 

จะได้

 

<deployment xmlns="http://xml.apache.org/axis/wsdd/"

            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

 

 <service name="CalculatorWebservice" provider="java:RPC">

            <requestFlow>

                        <handler type="soapmonitor"/>

            </requestFlow>

            <responseFlow>

                        <handler type="soapmonitor"/>

            </responseFlow>

 

  <parameter name="className" value="com.arg.services.CalculatorWebservice"/>

  <parameter name="allowedMethods" value="*"/>

 

 </service>

</deployment>

 

undeploy_xxxx.wsdd แล้ว deploydeploy_xxxx.wsdd ใหม่อีกที

 

file undeploy_xxx.wsdd

<undeployment xmlns="http://xml.apache.org/axis/wsdd/">

<service name="CalculatorWebservice"/>

</undeployment>

 

On Windows

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService undeploy_calculator.wsdd

 

On Unix

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService undeploy_calculator.wsdd

 

5. Run tomcat

แล้วเปิด Internet Explorer ไปที่ http://127.0.0.1:8080/axis/SOAPMonitor

 

6.สร้าง Class เพื่อเรียกใช้ web servicesแล้วลองเขียนตัว Client เรียกช้ web service จะเห็น messages  เกิดขึ้นที่ http://127.0.0.1:8080/axis/SOAPMonitor