Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3276
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-27 20:16
文章分类

全部博文(2)

文章存档

2015年(2)

我的朋友

分类: Java

2015-03-27 20:25:30

      使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService。下面是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍。

      本例子的WebService提供了两个方法,分别是sayHello和sayHelloToPerson,第一个只是返回一个"Hello"字符串,没有参数,第二个函数接受一个字符串作为参数,返回"Hello 参数值",该例子比较简单,但是清楚的说明了从编写代码到发布为WebService以及测试编写好的WebService全过程。

编写服务代码

      服务代码提供了两个函数,分别为sayHello和sayHelloToPerson,源代码如下:

Java代码  收藏代码
  1. /* 
  2.  * File name: HelloService.java 
  3.  *  
  4.  * Version: v1.0 
  5.  *  
  6.  * Created on Aug 2, 2008 9:40:20 AM 
  7.  *  
  8.  * Designed by Stephen 
  9.  *  
  10.  * (c)Copyright 2008 
  11.  */  
  12. package com.sinosoft.webservice;  
  13.   
  14. /** *//** 
  15.  * @author Stephen 
  16.  *  
  17.  * Test web service 
  18.  */  
  19. public class HelloService {  
  20.     /** *//** 
  21.      * 不带参数的函数 
  22.      *  
  23.      * @return 返回Hello字符串 
  24.      */  
  25.     public String sayHello() {  
  26.         return "Hello";  
  27.     }  
  28.   
  29.     /** *//** 
  30.      * 带参数的函数 
  31.      *  
  32.      * @param name 
  33.      *            名称 
  34.      * @return 返回加上名称的欢迎词 
  35.      */  
  36.     public String sayHelloToPerson(String name) {  
  37.         if (name == null || name.equals("")) {  
  38.             name = "nobody";  
  39.         }  
  40.         return "Hello " + name;  
  41.     }  
  42. }  

 

 

发布WebService

      要将上边写的HelloService类发布为WebService,需要先搭建Web应用。下面是在Tomcat下使用Axis()创建WebService服务的例子。

在Tomcat下创建Web应用

在该例子中,在Tomcat下创建了一个context path为ws的WEB应用。

     1. 在myeclipse中创建WebServiceTest的webproject

     2. 在WEB-INF文件夹下web.xml文件,该文件的内容如下:

Xml代码  收藏代码
  1. xml version="1.0" encoding="ISO-8859-1"?>  
  2.   
  3. Application 2.3//EN" "">  
  4.   
  5. <web-app>  
  6.   <display-name>Apache-Axisdisplay-name>  
  7.       
  8.     <listener>  
  9.         <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListenerlistener-class>  
  10.     listener>  
  11.       
  12.   <servlet>  
  13.     <servlet-name>AxisServletservlet-name>  
  14.     <display-name>Apache-Axis Servletdisplay-name>  
  15.     <servlet-class>  
  16.         org.apache.axis.transport.http.AxisServlet  
  17.     servlet-class>  
  18.   servlet>  
  19.   
  20.   <servlet>  
  21.     <servlet-name>AdminServletservlet-name>  
  22.     <display-name>Axis Admin Servletdisplay-name>  
  23.     <servlet-class>  
  24.         org.apache.axis.transport.http.AdminServlet  
  25.     servlet-class>  
  26.     <load-on-startup>100load-on-startup>  
  27.   servlet>  
  28.   
  29.   <servlet>  
  30.     <servlet-name>SOAPMonitorServiceservlet-name>  
  31.     <display-name>SOAPMonitorServicedisplay-name>  
  32.     <servlet-class>  
  33.         org.apache.axis.monitor.SOAPMonitorService  
  34.     servlet-class>  
  35.     <init-param>  
  36.       <param-name>SOAPMonitorPortparam-name>  
  37.       <param-value>5001param-value>  
  38.     init-param>  
  39.     <load-on-startup>100load-on-startup>  
  40.   servlet>  
  41.   
  42.   <servlet-mapping>  
  43.     <servlet-name>AxisServletservlet-name>  
  44.     <url-pattern>/servlet/AxisServleturl-pattern>  
  45.   servlet-mapping>  
  46.   
  47.   <servlet-mapping>  
  48.     <servlet-name>AxisServletservlet-name>  
  49.     <url-pattern>*.jwsurl-pattern>  
  50.   servlet-mapping>  
  51.   
  52.   <servlet-mapping>  
  53.     <servlet-name>AxisServletservlet-name>  
  54.     <url-pattern>/services/*url-pattern>  
  55.   servlet-mapping>  
  56.   
  57.   <servlet-mapping>  
  58.     <servlet-name>SOAPMonitorServiceservlet-name>  
  59.     <url-pattern>/SOAPMonitorurl-pattern>  
  60.   servlet-mapping>  
  61.   
  62.    
  63.    
  64.         <session-timeout>5session-timeout>  
  65.     session-config>  
  66.   
  67.     
    阅读(280) | 评论(0) | 转发(0) |
    0

    上一篇:没有了

    下一篇:Dubbo zookeeper 初探

给主人留下些什么吧!~~