J2EE Axis2 Tomcat WebService实例

转自:

http://staven2009.blog.163.com/blog/static/111437396201142572218174/


一个简单的Web登录项目

本学期,WebServices的一次实验,个人经验总结,一家之言,请勿拍砖!

①    实验环境的搭建

参照本人编写的文档,J2EE搭建WebServices开发环境.doc

下载地址:http://u.115.com/file/t7a2d61f55

②    新建JavaProject

打开Eclipse开发工具,新建一个Java Project

File —> New —>Java Project

并在src/目录下创建包,例如com.staven.login,同时创建一个新的class,命名为loginServer.java

参考代码如下

package com.staven.login;

public class loginServer {

    public boolean access(String name,String code){

       String NAME = “staven”;

       String CODE = “123456″;

       return (name.equals(NAME)&&code.equals(CODE));

    }

}

代码编写完成后要及时保存,这样就编译好了!

③    利用loginServer导出Axis2的服务文件

将完成的服务器端的代码导出为Axis2的服务文件,loginServer.aar文件,导出到tomcat安装目录下的/webapps/axis2/WEB_INF/services

具体方法见下图

File —> New —> Other

选择Axis2 Services Archiver

J2EE Axis2 Tomcat WebService实例_第1张图片

找到login项目的class文件路径

J2EE Axis2 Tomcat WebService实例_第2张图片

下一步,勾选skip WSDL

这里我们没有外部的lib,所以什么都不要动。

如图,勾选上Generate the service xml automatically

J2EE Axis2 Tomcat WebService实例_第3张图片

这个地方,写上服务的名称,class name,注意要把包都写上,一直到loginServer.java文件名称,写好后,点击Load按钮,然后你就能看到相关的方法了。我们把Search declared methods only 勾选上,选择我们认为有效的那个method.

J2EE Axis2 Tomcat WebService实例_第4张图片

这一步,输出aar文件的位置,我们把它导出到tomcat安装目录下的/webapps/axis2/WEB_INF/services目录中。

名称自定义,最后点击Finish.如果成功导出,则显示如下消息

现在你可以打开tomcat,并且在浏览器地址栏中输入http://localhost:8080/axis2

J2EE Axis2 Tomcat WebService实例_第5张图片

看到上图的欢迎界面,然后进入Services链接,这里你将看到loginServer服务已经发布成功了!

J2EE Axis2 Tomcat WebService实例_第6张图片

点击进入WSDL描述文档

J2EE Axis2 Tomcat WebService实例_第7张图片

这里我们要把wsdl描述文档的地址复制下,下面会用到的!

④    创建客户端,调用已经发布的loginServer服务.

打开Eclipse基础开发环境,File —> New —>Other

选择Axis2 Code Generator

然后进入如下界面

我们选择Generator Java source code from a WSDL file

J2EE Axis2 Tomcat WebService实例_第8张图片

这个地方,就可以把刚才浏览器地址栏复制的地址粘贴上去了,就是loginServer服务的WSDL文档的地址。

J2EE Axis2 Tomcat WebService实例_第9张图片

这里选择默认值就OK了!

选择导出文件到,java Project目录下

点击Finish

如果看到下面的消息,恭喜你,这一步成功了!

J2EE Axis2 Tomcat WebService实例_第10张图片

这时,刷新Eclipse左侧目录树中的文件,你会发现多了好几个文件。还有好几个小红叉!悲剧了,郁闷吧!

J2EE Axis2 Tomcat WebService实例_第11张图片

不用担心,主要是缺少一些必需的lib

我们导入进入就OK了!

在项目上右键选择,Properties —>Java Build Path —>Libraries —>

Add External JARs

J2EE Axis2 Tomcat WebService实例_第12张图片

选择到tomcat安装目录下的/webapps/axis2/WEB_INF/lib,把这个目录下的jar文件全部导入,Ctrl+A,全选!

J2EE Axis2 Tomcat WebService实例_第13张图片

确定导入后,这是刷新目录树,发现还有个小红叉,这回我们要特殊对待它了!

打开文件,把错误行,这些内容删掉

implements LoginServer

J2EE Axis2 Tomcat WebService实例_第14张图片

保存一下,小红叉就没有了!

下一步,我们需要编写个客户端程序段,来调用先前发布到loginServer服务

在项目包中新建一个class文件,命名为loginClient.java

代码如下

package com.staven.login;

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class loginClient {

public static void main(String[] args){

try{

System.out.println(“用户名:”);

InputStreamReader isname = new InputStreamReader(System.in);

BufferedReader brname = new BufferedReader(isname);

String name = brname.readLine();

System.out.println(“密码:”);

InputStreamReader iscode = new InputStreamReader(System.in);

BufferedReader brcode = new BufferedReader(iscode);

String code = brcode.readLine();

LoginServerStub stub = new LoginServerStub(“http://localhost:8080/axis2/services/loginServer”);

Access access = new Access();

access.setName(name);

access.setCode(code);

AccessResponse res = stub.access(access);

if(res.get_return() == true)

System.out.println(“认证通过,恭喜你成功登入!”);

else System.out.println(“用户名或密码有误,登录失败!”);

}catch(Exception el){

System.out.println(“远程服务器端无响应,请重试!”);

}

}

}

下面是运行的界面:

Log4j警告信息不用管他,主要是要配置log4j.这里就不扯了!

如何去除log4j产生的警告信息,请自行google

终端显示的结果不是很好,感兴趣的朋友可以自己做个GUI

调用服务的方法是完全一样的。

最后,附上本人实现的GUI 截图

J2EE Axis2 Tomcat WebService实例_第15张图片

J2EE Axis2 Tomcat WebService实例_第16张图片

J2EE Axis2 Tomcat WebService实例_第17张图片

好吧,本文档编写完成,

J2EE Axis2 Tomcat WebService实例

一个简单的Web登录项目


你可能感兴趣的:(J2EE Axis2 Tomcat WebService实例)