使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService。下面是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍。
本例子的WebService提供了两个方法,分别是sayHello和sayHelloToPerson,第一个只是返回一个"Hello"字符串,没有参数,第二个函数接受一个字符串作为参数,返回"Hello 参数值",该例子比较简单,但是清楚的说明了从编写代码到发布为WebService以及测试编写好的WebService全过程。
编写服务代码
服务代码提供了两个函数,分别为sayHello和sayHelloToPerson,源代码如下:
-
-
-
-
-
-
-
-
-
-
-
-
package com.sinosoft.webservice;
-
-
-
-
-
-
-
public class HelloService {
-
-
-
-
-
-
public String sayHello() {
-
return "Hello";
-
}
-
-
-
-
-
-
-
-
-
public String sayHelloToPerson(String name) {
-
if (name == null || name.equals("")) {
-
name = "nobody";
-
}
-
return "Hello " + name;
-
}
-
}
发布WebService
要将上边写的HelloService类发布为WebService,需要先搭建Web应用。下面是在Tomcat下使用Axis()创建WebService服务的例子。
在Tomcat下创建Web应用
在该例子中,在Tomcat下创建了一个context path为ws的WEB应用。
1. 在myeclipse中创建WebServiceTest的webproject
2. 在WEB-INF文件夹下web.xml文件,该文件的内容如下:
-
xml version="1.0" encoding="ISO-8859-1"?>
-
-
-
Application 2.3//EN" "">
-
-
<web-app>
-
<display-name>Apache-Axisdisplay-name>
-
-
<listener>
-
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListenerlistener-class>
-
listener>
-
-
<servlet>
-
<servlet-name>AxisServletservlet-name>
-
<display-name>Apache-Axis Servletdisplay-name>
-
<servlet-class>
-
org.apache.axis.transport.http.AxisServlet
-
servlet-class>
-
servlet>
-
-
<servlet>
-
<servlet-name>AdminServletservlet-name>
-
<display-name>Axis Admin Servletdisplay-name>
-
<servlet-class>
-
org.apache.axis.transport.http.AdminServlet
-
servlet-class>
-
<load-on-startup>100load-on-startup>
-
servlet>
-
-
<servlet>
-
<servlet-name>SOAPMonitorServiceservlet-name>
-
<display-name>SOAPMonitorServicedisplay-name>
-
<servlet-class>
-
org.apache.axis.monitor.SOAPMonitorService
-
servlet-class>
-
<init-param>
-
<param-name>SOAPMonitorPortparam-name>
-
<param-value>5001param-value>
-
init-param>
-
<load-on-startup>100load-on-startup>
-
servlet>
-
-
<servlet-mapping>
-
<servlet-name>AxisServletservlet-name>
-
<url-pattern>/servlet/AxisServleturl-pattern>
-
servlet-mapping>
-
-
<servlet-mapping>
-
<servlet-name>AxisServletservlet-name>
-
<url-pattern>*.jwsurl-pattern>
-
servlet-mapping>
-
-
<servlet-mapping>
-
<servlet-name>AxisServletservlet-name>
-
<url-pattern>/services/*url-pattern>
-
servlet-mapping>
-
-
<servlet-mapping>
-
<servlet-name>SOAPMonitorServiceservlet-name>
-
<url-pattern>/SOAPMonitorurl-pattern>
-
servlet-mapping>
-
-
-
-
<session-timeout>5session-timeout>
-
session-config>
-
-
阅读(280) | 评论(0) | 转发(0) |