1、Axis2开发webservice总结 1 Web服务接口 关于本章 本章描述内容如下表所示。 标题 内容 1.1 Web Service技术 介绍Web Service技术。 1.1 Web Service技术 1.1.1 Web Service消息内容遵循的标准 l SOAP 所有Web Service消息符合WS-I基本纲要(WS-I Basic Profile Version 1.0:"Final Material")的SOAP使用定义。 编码方式为:“document/literal”。 发起业务请求时,在SOAP HEADER里设置tim
2、eStamp、sendAddress、platType、provType、TID、version、callerSID、providerSID、providerEID、providerECID、providerIFName、UID、callingType参数,然后在服务器端提取参数,进行相应处理。 l XML 所有Web Service消息符合WS-I基本纲要(WS-I Basic Profile Version 1.0:"Final Material")的XML使用定义。 l HTTP 所有Web Service消息符合WS-I基本纲要(WS-I Basic Profile Versi
3、on 1.0:"Final Material")的HTTP使用定义。 2 开发流程 关于本章 本章描述内容如下表所示。 标题 内容 2.1开发前的准备 介绍在开发业务实例前的准备工作。 2.2通过编写JAVA类文件生成WSDL文件。 介绍怎么通过编写JAVA类文件生成WSDL文件。 2.3客户端业务开发实例 介绍向用户开发helloword。 2.1 开发前的准备工作 2.1.1 PC机配置要求 选择一台PC机作为开发平台。PC机的最低配置要求如表2-1所示。 表2-1 PC机最低配置要求表 配置 说明 操作系统 l Windows 2000 Ser
4、ver SP4 l Windows XP SP2 浏览器 IE6.0 CPU P4 1.8GHz 内存 512MB 硬盘 10GB 2.1.2 工具下载 在以下提供的工具下载页面中找到指定的下载链接,下载各个工具,并将其安装在C:\Program Files下。 JDK1.5 l JDK1.5下载页面。 l jdk-1_5_0_13-windows-i586-p.exe下载链接。 http://192.18.108.145/ECom/EComTicketServlet/BEGINA3B0EEAA08A312C1FAEC55BAC2297BBB/-21
5、47483648/2402513439/1/852050/851882/2402513439/2ts+/westCoastFSEND/jdk-1.5.0_13-oth-JPR/jdk-1.5.0_13-oth-JPR:3/jdk-1_5_0_13-windows-i586-p.exe l 安装JDK。 双击jdk-1_5_0_13-windows-i586-p.exe按照默认配置安装JDK1.5。 Eclipse(开发环境) l Eclipse下载页面。 http://www.eclipse.org/downloads l eclipse-SDK-3.3.1-win32.zip下载
6、链接。http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-SDK-3.3.1-win32.zip&url= l 安装Eclipse。 解压缩eclipse-SDK-3.3.1-win32.zip即可(不需安装)。 Tomcat(Web服务器) l Tomcat6.0下载页面。 http://tomcat.apache.org/download-60.cgi l apache-tomcat-6.0.14.zip下载链接。
7、l 安装Tomcat。 解压缩apache-tomcat-6.0.14.zip即可(不需安装)。 AXIS(SOAP引擎) l AXIS2下载页面。 http://ws.apache.org/axis2/download.cgi l axis2-1.4-bin.zip下载链接。 l axis2-1.4-war.zip下载链接。 l 安装AXIS。 解压缩axis2-1.4-bin.zip和axis2-1.4-war.zip即可(不需安装)。 2.1.3 环境变量配置 按照如下步骤配置JAVA_HOME和AXIS2_HOME环境变量。 步骤 1 右键单击“我的电脑
8、 步骤 2 选择“属性”。 步骤 3 单击“高级”页签。 如图2-2所示。 图2-2 系统属性 步骤 4 在图2-2中单击“环境变量”。 步骤 5 增加系统变量JAVA_HOME,变量值为JDK安装目录。 如图2-3所示。 图2-3 新建JAVA_HOME系统变量 步骤 6 增加系统变量CLASSPATH。 l 变量名: CLASSPATH l 变量值: %JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 步骤 7 在Path系统环境变量中增加axis2-1.4的bin
9、目录,单击“确定”。 如图2-4所示。 图2-4 编辑Path系统环境变量 l 在设置环境变量的值时,新增的环境变量值与已存在的环境变量值之间用“;”隔开。 l 其中D:\axis2-1.4\bin需要根据实际情况设置。 步骤 8 单击编辑用户变量界面里的“确定”。 步骤 9 环境变量界面里的“确定” ---结束 2.1.4 解压缩axis2 具体操作步骤如下。 步骤 1 解压缩axis2-1.4-war.zip。 步骤 2 将axis2.war拷贝到%TOME_HOME%\webapps目录下。 步骤 3 双击%TOME_HOME%\bin\startu
10、p.bat,启动Tomcat服务器。 ----结束 启动过程会自动将axis2.war解压缩,在%TOME_HOME%\webapps 下生成axis2目录。 2.2 通过JAVA生成WSDL文件 2.2.1 写java类 步骤 1 在Eclipse中新建一个java工程。 步骤 2 单击“file > new > java>project”。如图2-5所示。 图2-5 新建java工程 步骤 3 输入工程名,其他默认,单击“finish”。如图2-6所示。 图2-6 输入工程名 步骤4 生成类 hello.java 步骤 4 根据接口文件在类中
11、写方法和参数,如图2-7所示。 图2-7 类中写的方法和参数 2.2.2 使用AXIS2的工具生成wsdl文件 步骤 1 拷贝生成的java文件的.class文件。需要拷贝bin目录下面所有的包,如Error! Reference source not found.所示。 步骤 2 复制到axis2的bin目录下,如图2-8所示。 图2-8 axis2的bin目录 使用java2WSDL命令将“Hello.class”转化为“Hello.wsdl”文件。如图2-9所示。 图2-9 转化文件 生成的wsdl文件如下: l 使用全路径。
12、l 中间的–of,–cn等字符请参照本地的系统所给的命令,可以执行java2WSDL命令查看。 ----结束 2.2.3 修改WSDL文件使其符合规范 查看规范的wsdl文件,将命名空间统一,按照规范wsdl中的标准来修改。 2.3 客户端业务开发实例 2.3.1 使用工具将wsdl文件生成java源码 使用工具按照如下步骤将wsdl文件生成java源码。 步骤 1 运行cmd,进入命令行控制台,进入axis2的bin目录下,如Error! Reference source not found.所示。 步骤 2 使用“WSDL2java.bat”生成一个客户端
13、WSDL2java.bat -uri,如图2-10所示。 图2-10 客户端源码 步骤 3 可以看到bin目录下产生了一个src文件夹,准备将其导入到eclipse工程中,如图2-11所示。 图2-11 Src文件夹 步骤 4 在eclipse中创建一个普通的java工程,操作步骤为单击“file > new > javaproject”,如图2-12所示。 图2-12 创建java工程 步骤 5 创建名为hello_clint的工程 步骤 6 点开新建的工程,可以看到工程下的库和一个源文件夹,导入axis2所需的jar包。 如下图: ----结束
14、 2.4 生成服务端代码 2.4.1 安装配置必要工具 一些必要工具的安装,配置具体步骤如下。 步骤 1 获得一个tomcat安装包和axis2-1.4-war.zip。 步骤 2 安装tomcat,解压axis2-1.4-war.zip到%TOMCAT_HOME%\webapps目录下。 步骤 3 双击% TOMCAT _HOME%\bin\startup.bat,启动Tomcat服务器。 步骤 4 启动后看是否在% TOMCAT _HOME%\webapps下生成了axis2目录,如生成则说明axis2安装成功。 2.4.2 生成服务端源代码 生成服务端源代码的具体
15、步骤如下。 步骤 1 参见2.3.1 步骤 1。 步骤 2 使用WSDL2java.bat -uri weatherInfoNotify.wsdl –ss –sd生成服务端代码。 步骤 3 能在bin目录下看到新增了src和resources文件夹。 新增的文件夹会覆盖以前的src文件夹,请备份以前的文件夹。 步骤 4 参见2.3.1 步骤 4在eclipse中创建一个普通的java工程,操作步骤为单击“file > new > javaproject”,如图2-12所示。 步骤 5 参见2.3.1 步骤 5,把名字命名为hello_server。 步骤 6 参见2.3.1
16、步骤 6,和Error! Reference source not found.,完成后如图2-13所示 图2-13 生成代码 其中HelloSkeleton.java为业务代码实现类,需要重写实现方法。 ----结束 2.4.3 将服务端导出并发布到tomcat上 步骤 1 将工程导出为一个xxx.aar包(本例为hello.aar),放到% TOMCAT _HOME%\webapps\axis2\WEB-INF\services中,如Error! Reference source not found. 所示。 步骤 2 选中axis2的bin目录下的resources
17、文件夹中的services.xml文件。 步骤 3 将选中文件放到weather.aar包中的META-INF目录下 点击hello_server build.xml文件生成hello.aar包,将工程文件中的service.xml替换hello.aar包中\ \META-INF中的service.xml。 然后放在 $tomcat_home\ \webapps\axis2\WEB-INF\services目录下,然后启动tomcat. Hello.aar位置如图所示: 启动tomcat 如图所示,表示发布成功 2.5 简单调测 请参考
18、如下操作简单调试发布的内容 步骤 1 单击eclipse客户端工程中的Test.class类,如图2-14所示。 图2-14 Test.class类 3 心得 3.1 编写wsdl文件 3.1.1 修改wsdl文件 利用wsdl文件通过 WSDL2java.bat -uri hello.wsdl –ss –sd生成服务端代码。 WSDL2java.bat -uri hello.wsdl 客户端代码。 3.1.2 修改生成的服务端代码 生成的骨架代码为业务实现方法,需要重写实现方法 类名为 *.Skeleton.java 3.1.3 发布 *.aar
19、包 通过 服务端代码build.xml生成 aar包,将 工程目录recourse\service.xml 替换 \build\lib\*.aar包中的service.xml文件。然后copy到tomcat目录 \\webapps\axis2\WEB-INF\services 下。 附录资料:web前端面试题 1. W3C标准有哪些? W3C推行的主要规范有HTML,CSS,XML,XHTML和DOM(Document Object Model)。 2. 谈谈Js的内存泄露问题。 3. 谈谈对Html 5的了解。 4. 谈谈对CSS 3的了解。 5. 用js实现随即选取10-
20、100之间的10个数字,存入一个数组,并排序。 var iArray = []; funtion getRandom(istart, iend){ var iChoice = istart - iend +1; return Math.floor(Math.random() * iChoice + istart; } for(var i=0; i<10; i++){ iArray.push(getRandom(10,100)); } iArray.sort(); 6. 把两个数组合并,并删除第二个元素。 var arra
21、y1 = ['a','b','c']; var bArray = ['d','e','f']; var cArray = array1.concat(bArray); cArray.splice(1,1); 7. Js面向对象的几种方式。 8. 请谈谈原型方式构造对象的特点。 9. 在Css中那个属性会影响dom读取文档流的顺序。 答: float属性。 10. 请介绍几种用div实现两列布局的方案(兼容),另外要考虑文档流的加载。 11. 谈谈css在浏览器中的兼容问题,详细谈谈IE6的一些bug,以及解决方案。 12. 谈谈你对闭包的理解。以及如何实现js方法的重写。
22、 [HTML && CSS] 1.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 首先我讲讲如何触发两种模式: 加入xml头部声明可以触发IE浏览器的Quirks mode,触发之后,浏览器解析方式就和IE5.5一样,拥有IE5.5一样的bug和其他问题,行为(Javascript)也是如此。 IE6的触发 在XHTML的DOCTYPE前加入XML声明 IE7的触发 在XML声明和XHTML的DOCTYPE之间加入HTML注释 IE6和IE7都可以触发的 在HTML4.01的DOCTYPE文档头部加入HTML注释 其次是这样的意义 各个浏览器的混杂模式,基本就是各个浏览器的私有模式,不相互兼容。所以,除非是为了兼容的问题,比如你不想修改很久很久以前做的IE ONLY的网页,否则刻意触发混杂模式没有任何意义。
25、 2:行内元素有哪些?块级元素有哪些?CSS的盒模型? 一.行内元素和块级元素有哪些? 块级元素
information on authorlong quotation