需要的软件:
Eclipse:
  Eclipse需要两个插件,帮助我们部署webservice 和生成wsdl
   axis2-eclipse-service-plugin-1.6.2.zip 打包并部署webservice
   axis2-eclipse-codegen-plugin-1.6.2.zip 生成wsdl
Tomcat + Axis2
SOAPUI

好了,准备完毕就可以动手写webservice了~~本来想把要用到的软件上传到这里的,我不常登陆自己的博客,可惜公司网络不允许呀~~其实网上也都有~~

话题回归,其实webservice很简单,一个POJO就可以发布成webservice了~~
如下图user项目的结构~~只是一个简单的java项目,maven构建后面再继续讲


这里用就创建了一个UserUtilService中的addExUser方法

创建sessionn
 1public class HibernateUtil {
 2
 3    private static final Logger LOGGER = LoggerFactory.getLogger(HibernateUtil.class);
 4    private static SessionFactory sessionFactory;
 5    
 6    private static SessionFactory buildSessionFactory()
 7      {
 8        try
 9        {
10          return HibernateUtil.sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
11          
12          
13        }
 catch (Throwable ex) {
14          LOGGER.error("Initial SessionFactory creation failed.", ex);
15          throw new ExceptionInInitializerError(ex);
16        }

17      }

18
19      private static synchronized SessionFactory getSessionFactory()
20      {
21        if (sessionFactory == null{
22          sessionFactory = buildSessionFactory();
23        }

24        return sessionFactory;
25      }

26
27      public static StatelessSession getSession() {
28        return getSessionFactory().openStatelessSession();
29      }

30}


创建DAOFactory, 为DAO,DAOImpl形成映射关系,这个也可以写在配置文件里

 1public class DAOFactory
 2{
 3  private static final Logger LOGGER = LoggerFactory.getLogger(DAOFactory.class);
 4
 5  private static Map<Class<?>, Class<?>> typeMap = new HashMap();
 6
 7  static {
 8    typeMap.put(UserDAO.class, UserDAOImpl.class);
 9    typeMap.put(ExUserMappingDAO.class, ExUserMappingDAOImpl.class);
10  }

11
12  private static <extends GenericDAO> T instantiateDAO(Class<T> daoClass)
13  {
14    try
15    {
16      Class implType = (Class)typeMap.get(daoClass);
17      return (T)implType.newInstance();
18    }
 catch (Exception ex) {
19    
20    throw new RuntimeException("Can not instantiate DAO: " + daoClass, ex);
21    }

22  }

23
24  public static <extends GenericDAO> T getDAO(Class<T> daoClass)
25  {
26    GenericDAO d ao = instantiateDAO(daoClass);
27
28    return (T)dao;
29  }

30}

然后就可以写具体的实现方法,例如:  
1  public Usrdpf save(Usrdpf user)
2  {
3      
4      Transaction tx = getSession().beginTransaction();
5      getSession().insert(user);   
6      tx.commit();
7
8    return user;
9  }


别忘记在配置文件中加入实体类的映射
1<mapping class="com.csc.user.util.entities.Usrdpf"/>
2<mapping class="com.csc.user.util.entities.ExUserMapping"/>

然后打包成AAR,使用我们开头讲的小工具生成aar就可以了