使用Axis编写WebService
使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService。下面是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍。
? ??? 本例子的WebService提供了两个方法,分别是sayHello和sayHelloToPerson,第一个只是返回一个"Hello"字符串,没有参数,第二个函数接受一个字符串作为参数,返回"Hello 参数值",该例子比较简单,但是清楚的说明了从编写代码到发布为WebService以及测试编写好的WebService全过程。 编写服务代码????? 服务代码提供了两个函数,分别为sayHello和sayHelloToPerson,源代码如下:
? ? 发布WebService ????? 要将上边写的HelloService类发布为WebService,需要先搭建Web应用。下面是在Tomcat下使用Axis(http://ws.apache.org/axis/)创建WebService服务的例子。 在Tomcat下创建Web应用在该例子中,在Tomcat下创建了一个context path为ws的WEB应用。 ?????1.?在myeclipse中创建WebServiceTest的webproject ?????2. 在WEB-INF文件夹下web.xml文件,该文件的内容如下:
? ? 在上面的web.xml中主要是配置了axis的相关配置。 axis的相关配置在上述的web.xml文件中已经对axis进行了配置,但是还需要进行额外的配置。 ?????复制axis相关的jar文件 ?????将axis的相关jar文件复制到WEB-INFlib文件夹下。这些文件包括: activation.jar ?? 测试发布的Web应用 启动Tomcat服务,打开IE浏览器,访问地址http://127.0.0.1:8080/WebServiceTest/services,如果看到如下界面就说明AXIS部署成功了。 ? ? 发布WebService?????发布WebService需要使用现有的AdminService来实现,这里我写了一个批处理文件来发布WebService,以后如果需要发布其他文件,只需要修改相应的参数就可以了。 创建deploy.wsdd文件文件deploy.wsdd内容如下所示:
? ? 创建发布WebService服务的批处理文件 批处理文件deploywebservice.bat内容如下:
? ? ??其中上面的jar包我都拷到和bat文件在同一个目录,现在将所有的jar文件都加入到classpath中进行执行。 ?????-l后的参数是本地要发布WebService的AdminService对应的访问地址。 ?????最后deploy.wsdd是对应的配置文件名称。 发布WebService服务将deploy.wsdd文件和deploywebservice.bat文件复制到同一个文件夹下,执行deploywebservice.bat批处理文件,就可以将deploy.wsdd中描述的Java类发布为WebService。发布完成之后在访问http://host:port/ws/services如下图所示:
?
? 从上图可以看出,发布成功后,多了一个HelloServices的服务。这样就说明HelloService发布成功了。 查看HelloServices的wsdl?????访问http://127.0.0.1:8080/WebServiceTest/services/HelloServices?wsdl可以看到如下wsdl的内容:
? 用Java调用WebService实例?????下面是用Java调用刚发布的WebService例子。 ?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |