客户端 远程对象
| |
stub(存根) ---- 协议(soap/rmi-iiop/iiop...)--- skeleton(骨架)
对象序列化后传到我的JVM再把它转化成对象
序列化都要解压,效率低。
存根(STUB)代理,远程对象在客户端的代理。代理里面来封装访问细节,怎么压包,解压。
skeleton(骨架)解成JAVA对象,压缩,
分布通信,存根和骨架的通信。
是一个典型的代理。
异构系统整合,多语言开发,效率差。
使用Axis在Tomcat下发布Webservice有如下几个步骤:
(1)用JavaBean写好要发布的服务的定义
(2)使用Java2WSDL命令,根据JavaBean生成WSDL文件
(3)使用Wsdl2Java命令,根据WSDL文件生成服务端源代码,以及deploy.wsdd文件
(4)根据deploy.wsdd文件在tomcat下发布Webservice服务
deploy.bat
set axis_home=E:\java-tool\axis-bin-1_4\lib
set axis_path=%axis_home%\axis-ant.jar
set axis_path=%axis_path%;%axis_home%\axis.jar
set axis_path=%axis_path%;%axis_home%\commons-discovery-0.2.jar
set axis_path=%axis_path%;%axis_home%\commons-logging-1.0.4.jar
set axis_path=%axis_path%;%axis_home%\jaxrpc.jar;
set axis_path=%axis_path%;%axis_home%\log4j-1.2.8.jar
set axis_path=%axis_path%;%axis_home%\saaj.jar
set axis_path=%axis_path%;%axis_home%\wsdl4j-1.5.1.jar
set CLASSPATH=%CLASSPAHT%;%axis_path%
java org.apache.axis.client.AdminClient -l"http://localhost:9000/axis/services/UserManage" deploy.wsdd
java2wsdl.bat
java org.apache.axis.wsdl.Java2WSDL -n "urn:UserManage" -p"com.huawei.mtv.commons.services" "urn:UserManage" -o "UserManage.wsdl" -l "http://localhost:8080/axis/services/UserManage" com.huawei.mtv.commons.services.UserManage
wsdl2java.bat
java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true UserManage.wsdl
http://blog.csdn.net/zhangzhaokun/category/606327.aspx