今天下午,测试一下webservice,中间出现了各种问题,现将编写过程中的各类文件一一总结一番。操作步骤可参考图文详解java编写webservice程序一文,这里就不再赘述了。
先看服务类(具体实现省去):
package test; /** * GetUserInfo From Romote DB * * @author dml * @since 2012.9.13 * */ public class InitUserHandle { public static List query_userInfo_from_romoteDB() { …………………… public static List query_userInfo_from_IMDB() { …………………… } protected static void insert_userInfo_to_localDB(List list, String SITENAME) { …………………… } public static void getUserList(String SITENAME) { …………………… }
服务地址:http://127.0.0.1:8080/InitUserService/InitUserHandlePort?wsdl
启动tomcat后会看到其WSDL内容
根据测试工程具体操作方式,生成的工程项目结构如下图所示:
文件清单:
1.一个包信息类package-info.java;
2.一个对象工厂类 objectFactory.java;
3.一个服务类[类名]Service.java;
4.一个代表类[类名]Delegate.java;
5.声明为public的方法(xxxx)都会生成为一个xxxx.java和xxxxResponse.java类;
这些文件均为IDE生成,有兴趣可以详细研读一番。
测试类内容:
package com.jointsky.test; import com.jointsky.handle.InitUserHandleDelegate; import com.jointsky.handle.InitUserHandleService; /** * * * <p> * Title: 测试代码 /p> * * <p> * Description: 示例 业务类 * </p> * * <p> * Copyright: Copyright (c) 2012 * </p> * * @author dml@2012-12-11 * @version 1.0 */ public class InitUserTest { public static void main(String[] args) { InitUserHandleService iuhs = new InitUserHandleService(); InitUserHandleDelegate iuhd = iuhs.getInitUserHandlePort(); iuhd.getUserList("192.168.4.155"); } }
说明:实例化服务类,实例化代理类,通过代理类对象执行所需方法。
经过这些操作,大致能够自主写一个webservice工程了,接下来就又需要巩固理论基础了。
上面粘的这些示例代码关键包为JAX-WS,接下来,具体了解一下这个包,详见
【TODO】 webservice之JAX-WS探究 一文。
dml@ 2013.1.7