Axis
部署说明
1.
安装
axis
:将
axis
发布包(
webapps\axis
)复制到服务器部署的目录下
D:\Tomcat 5.0\webapps
,启动
tomcat
,访问
http://192.168.0.51:7070/axis/
,
axis
安装完成
2
.
添加必要的类包:将生成
webservice
所需的
jar
包拷贝至(
D:\Tomcat 5.0\webapps\axis\WEB-INF\lib
)目录下,并将类和配置文件等拷贝至
D:\Tomcat 5.0\webapps\axis\WEB-INF\classes
下
3.
设置部署环境变量
someclasspath
,
someclasspath
中设置的是部署
webservice
过程中所需用到的
jar
包,它包含了
axis
下所有的类包和
tomcat
下的,具体为
D:\Tomcat5.0\webapps\axis\WEB-INF\lib\axis.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\axis-ant.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\commons-discovery.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\commons-logging.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\jaxrpc.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\log4j-1.2.8.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\saaj.jar;D:\Tomcat 5.0\webapps\axis\WEB-INF\lib\wsdl4j.jar;
4
.设置部署
webservice
的部署文件
(
deploy.wsdd
)
,具体设置如下。将
deploy.wsdd文件放在c:\目录下
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="SMS" provider="java:RPC">
<!-- 指出要发布成web service的类 -->
<parameter name="className" value="com.beyondbit.sms.port.SMSPort "/>
<!-- 允许所有public方法可被调用 -->
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
在dos环境下运行部署命令,部署webservice
命令:
java -cp "%someclasspath%" org.apache.axis.client.AdminClient –p 7070 deploy.wsdd
发布成功,此时可通过 http://192.168.0.51:7070/axis/servlet/AxisServlet地址看到名字为sms的webservice已部署成功 (或者不用通过wsdd文件,直接去写server-config.wsdd.在相应区域添加例如下面的内容:
<service name="TestWS" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.telecom.notify.DefaultSmsNotify"/>
</service>
)
可通过点击webservice名字旁的描述文件链接,察看webservice的描述文件
5.在客户端生成调用webservice的java文件,命令如下java -cp "%someclasspath%" org.apache.axis.wsdl.WSDL2Java -p <测试用例包> -t<url地址>
在dos环境下输入命令
java -cp "%someclasspath%" org.apache.axis.wsdl.WSDL2Java -p com.smsCase -t http://192.168.0.51:7070/axis/services/sms?wsdl
系统执行该命令后会在c:\目录下生成com\smsCase文件夹,其中包含生成的类。利用ant等工具编译这些文件(编译过程中需要用到someclasspath中的jar包)。可通过以下例程调用webservice,
public String parseXml()
{
String xmlString = "";
try
{
SMSPortServiceLocator service = new SMSPortServiceLocator();
SMSServiceSoapBindingStub binding = (SMSServiceSoapBindingStub)new SMSPortServiceLocator().getSMSService();
binding = (SMSServiceSoapBindingStub)service.getSMSService();
xmlString = binding.toReceiveMsg("000","1234");
}
catch(Exception e)
{
e.printStackTrace();
}
return xmlString;
}
此中调用webservice中的sms中的toReceiveMsg方法。
6.卸载weservice,设置卸载部署文件 undeploy.wsdd,
将
undeploy.wsdd文件放在c:\目录下
<undeployment xmlns="http://xml.apache.org/axis/wsdd/">
<service name="sms"/>
</undeployment>
在dos环境下运行卸载webservice命令,卸载webservice
命令:
java -cp "%someclasspath%" org.apache.axis.client.AdminClient –p 7070 undeploy.wsdd