如何手工发布一个WebService

[code]

注意:Web服务器是运行在JDK之上,而Axis站点(也就是一个应用)是运行在Web服务器之上的,所以他是web容器的子容器(因为里面可以管理些东西,只是概念上的吧...)

所以需要先下载Axis包,然后在他的Webapps下面找到一个axis,然后放到Tomcat的Webapps下面。

发布服务的两种方法:
1.即时发布:
写一个java类,然后改成jws后缀,然后放到axis下面就可以了,注意的是即时发布的话不能在站点的List中看见,只能直接敲类名哦,如:http://localhost:8080/axis/helloWebService.jws
但是不能写包名,不用用class文件等等限制

注意啦:在 myeclipse上有个现成的客户端。。。哈哈。。。先点击Web service explore这个小图标,然后点击右上角切换到wsdl page,wsdl的地址给他,然后就可以使用了

2.定制服务
写一个javaBean,然后生成class文件,连同包一起拷贝到axis /web-inf/classes下面,然后再粘贴一个deloy.wsdd放到classes目录下面,并修改deloy.wsdd文件的内容。


<service name="MyFirstWebService" provider="java:RPC" style="document" use="literal">
<parameter name="className" value="com.test.CaclSOA"/>
<parameter name="allowedMethods" value="*"/>这里service的名字可以随便写,为什么呢,因为里面的参数会进行类名的映射的,不过一般把服务名和类名取的一样
</service>
切换到命令航下,执行
java org.apache.axis.client.AdminClient deploy.wsdd
//注意:用命令执行deploy.wsdd并生成server-config.wsdd的过程美其名曰发布
wsdd是一个发布文件。。。wsdl是一个描述文件

我们执行AdminClient deploy.wsdd这个命令是为了什么? 他干了什么事情?
答:他的作用是把自己里面的内容添加到server-config.wsdd中,所以。。。我们不用这个命令,直接修改server-config.wsdd也是可以的。。。

下面是配置环境变量然后根据命令执行deploy.wsdd 生成server-config.wsdd 的过程
配置axis环境变量

set JAVA_HOME=D:\j2sdk1.4.1_01
set CATALINA_HOME=D:\Tomcat 5.0
set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
set Path=%Path%;%JAVA_HOME%\bin;%CATALINA_HOME%\bin

set AXIS_HOME=E:\Tomcat\webapps\axis
set AXIS_LIB=%AXIS_HOME%\WEB-INF\lib
set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;%AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;%AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\xmlsec.jar
set classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;


启动tomcat ,运行-cmd 到deploy.wsdd文件所在目录下使用命令
E:\Java\Tomcat 5.5\webapps\Axis1.4_samples2\WEB-INF>java -Djava.ext.dirs="e:\Jav
a\Tomcat 5.5\webapps\axis\WEB-INF\lib" org.apache.axis.client.AdminClient deploy
.wsdd

我的Tomca 5.5之间有个空格,所以需要将整个路径使用“”包含,运行这个命令后会在E:\Java\Tomcat 5.5\webapps\axis\WEB-INF 下生成一个 server-config.wsdd 这个就是我们需要的


//---------------------下面是反向工程,通过wsdl生成server,再发布的过程------------------------------------------

1.生成原代码
//这个里面是wsdl2javaserver.bat -----通过wsdl生成java代码和deploy.wsdd
set AXISCLASSPATH_TEMP=.\axis_lib\axis.jar;.\axis_lib\log4j-1.2.8.jar;.\axis_lib\commons-logging-1.0.4.jar;.\axis_lib\commons-discovery-0.2.jar;.\axis_lib\jaxrpc.jar;.\axis_lib\saaj.jar;.\axis_lib\wsdl4j-1.5.1.jar;.\axis_lib\xercesImpl.jar;.\axis_lib\xml-apis.jar
D:\program\openEAP3.18\jdk\bin\java -cp %AXISCLASSPATH_TEMP% org.apache.axis.wsdl.WSDL2Java ./CTDDataSynService_1_0.wsdl -o .\源代码\src -p com.suntek.ctdmanager.ws.server.data -s

2。发布服务。。。也就是执行一个命令把deploy.wsdd里面的内容写入到service-config.wsdd中去

//wsdd.bat里面的内容
set AXISCLASSPATH_TEMP=.\axis_lib\axis.jar;.\axis_lib\log4j-1.2.8.jar;.\axis_lib\commons-logging-1.0.4.jar;.\axis_lib\commons-discovery-0.2.jar;.\axis_lib\jaxrpc.jar;.\axis_lib\saaj.jar;.\axis_lib\wsdl4j-1.5.1.jar;.\axis_lib\xercesImpl.jar;.\axis_lib\xml-apis.jar
D:\program\openEAP3.18\jdk\bin\java -cp %AXISCLASSPATH_TEMP% org.apache.axis.client.AdminClient -l http://localhost:9080/ctdmanager/servlet/AxisServlet -P ./deploy.wsdd


[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值