2016-12-07html
1 安装JDK
1.1 下载JDK
1.2 安装和配置JDK
1.3 验证
2 安装Eclipse
2.1 下载Eclipse
2.2 安装
3 安装Tomcat
3.1 下载Tomcat
3.2 安装及配置
3.3 验证
4 安装axis2
4.1 下载axis2
4.2 在tomcat中部署axis2
4.3 在eclipse中配置axis2
5 创建要发布的Web Service
6 发布Web Service
7 编写客户端代码调用WebServiceweb
参考apache
返回浏览器
JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmltomcat
验证一下是否搭建成功 打开CMD,输入: java -versionoracle
返回app
下载地址: https://www.eclipse.org/downloads/packages/release/Indigo/SR2,下载“Eclipse IDE for Java EE Developers”eclipse
解压便可使用。这里解压到 D:\Program Files\eclipse-jee-indigo-SR2-win32-x86_64\webapp
下载地址: http://tomcat.apache.org/download-70.cgi
以“管理员身份运行” D:\tomcat\bin\startup.bat
axis主页面:http://ws.apache.org/axis2/download.cgi
下载地址:http://mirror.bit.edu.cn/apache/axis/axis2/java/core/1.7.4/
下载axis2-1.7.4-bin.zip,解压到:D:\Dev\axis2-1.7.4 ,lib目录下的jar包是WebService业务开发须要的库文件
下载axis2-1.6.2-war.zip,解压到tomcat的webapps目录下(D:\tomcat\webapps),重启tomcat,会发现webapps目录下多了axis2文件夹,在浏览器里输入http://localhost:8080/axis2,会发现对应的网页,说明已经成功了
打开Eclipse,Windows->Preferences下new一个User Libraries,命名为axis2,将下载axis2-1.7.4-bin.zip解压到:D:\Dev\axis2-1.7.4,把该目录下lib 下的包均添加进来,以下图所示。这一步操做的目的是为了之后工程方便添加axis2所需的 jar文件。
package Services; public class Hello { public String sayHi(String user) { return "Hi, "+ user; } }
1. 编译刚刚创建的Hello类,类编译后,会在workspace中对应工程目录下的bin文件夹下生成Hello.class文件
2. 打包要发布的Service, 点击Eclipse中New -> File -> Other -> Axis2 wizards -> Axis2 Services Archiver
3. 按上图填写,class File Location为工做目录对应项目的bin文件夹,并勾上Include .class files only,点击next
4. 默认选择Skip WSDL,点击next
5. 默认,继续next
6. 默认,继续next
7. 如上图所示,Class name请务必设为Services.Hello,表明使用的类是D:\Users\...\workspace\HelloWorld\bin路径下,文件夹Services下的Hello类,不然Load不上的。
8. 如上图所示,output file location务必填写tomcat目录的axis2\web-inf\services下,点击Finish后,能够发现:D:\tomcat\webapps\axis2\WEB-INF\services目录下增长了sayHi_service.aar
9. 测试所发布的Web Service
打开http://localhost:8080/axis2/services/listServices页面,能够看到HelloWorld服务:
点击HelloWorld连接进入wsdl页面
在src包中建包Client,创建myClient类以下:
package Client; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class myClient { public static void main(String[] args) throws AxisFault { // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); // 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/HelloWorld"); options.setTo(targetEPR); // 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间 QName opAddEntry = new QName("http://Services", "sayHi"); // 指定sayHelloToPerson方法的参数值 Object[] opAddEntryArgs = new Object[] { "John" }; // 指定sayHelloToPerson方法返回值的数据类型的Class对象 Class[] classes = new Class[] { String.class }; // 调用sayHelloToPerson方法并输出该方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]); } }
运行该程序,点击Run As->Java application,能够看到控制台端口的输出是:Hi, John
[1] Eclipse+axis2+tomcat进行web部署