วิธีการดู 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