使用eclipse+axis2+tomcat发布webservice接口

本人是一枚小菜鸟,仅以本文记录工作中使用axis2搭建webservice接口,方便以后查阅,如果有什么不对的地方,还请多多指正,本文借鉴了他人写的技术贴,下面我会将地址附上,方便各位看官浏览,当然,在此很感谢提供技术贴的大牛们。好了,下面开始进入正题。

借鉴技术贴地址:https://www.cnblogs.com/Ming8006/p/6142191.html

1.准备开发环境 开发环境主要用到eclipse,Tomcat,axis2等。eclipse和Tomcat环境的搭建此处略过,主要讲一下axis2需要下载的jar包

1.1.axis2下载地址:http://mirror.bit.edu.cn/apache/axis/axis2/java/core/1.7.7/

1.2.其中axis2-1.7.7-bin.zip,解压到你的文件夹 ,lib目录下的jar包是WebService业务开发需要的库文件,

1.3.下载axis2-1.7.7-war.zip,解压到tomcat的webapps目录下,重启tomcat,会发现webapps目录下多了axis2文件夹,在浏览器里输入http://localhost:8080/axis2 会发现对应的网页,说明已经成功了,截图如下

1.4.在eclipse中配置axis2

1.4.1.下载axis2-eclipse-codegen-plugin-1.7.7.zip和axis2-eclipse-service-plugin-1.7.7.zip

1.4.2.先关闭eclipse,将上述下载的两个zip解压,生成两个jar包,找到eclipse的安装目录,找到dropins文件夹将两个jar包放入文件夹下,然后重启eclipse,点击File->New->Other有如下图显示,则表示安装插件成功!

至此基本环境已经搭建好,下面进行第二步

2.建立要发布的Web Service项目

2.1.打开Eclipse,Windows->Preferences下new一个User Libraries,命名为axis2,将下载axis2-1.7.4-bin.zip解压到:D:\Dev\axis2-1.7.4,把该目录下lib 下的包均添加进来,如下图所示。这一步操作的目的是为了以后工程方便添加axis2所需的 jar文件。

2.2.建立一个项目,我自己建的是javaweb项目,写的是一个jdbc进行查询和添加的东西

3.发布webservice

3.1.编译刚刚建立的项目,编译后,会在workspace中对应工程目录下的有个build文件夹下有个class文件夹

3.2.打包要发布的Service, 点击Eclipse中New -> File -> Other -> Axis2 wizards -> Axis2 Services Archiver

3.3.按上图填写,class File Location为工作目录对应项目的class文件夹,就是3.1中指出的class文件夹,并勾上Include .class files only,点击next

3.4.默认选择Skip WSDL,点击next

3.5.默认,继续next

3.6.

勾选途中圈出的,然后next

3.7.如下图所示,service name 可以自己随便取,Class name请务必设为你想发布的方法所在类的包名+类名,代表使用的类是service.impl.FixedAssetsServiceImpl路径下哪些方法,否则Load不上的。

3.8.点击next进入下图,output file location务必填写tomcat目录的axis2\web-inf\services下,点击Finish后,可以发现:D:\tomcat\webapps\axis2\WEB-INF\services目录下增加了sayHi_service.aar _

4.测试发布的webservice接口 打开http://localhost:8080/axis2/services/listServices 页面 ,可以看到名为myservice的服务:

_点击myservice链接进入wsdl页面

能出现这个页面代表接口发布成功了!_

5.编写客户端代码调用WebService,这个没试过,如果感兴趣可以参考我提供的那个技术贴地址,很详细。

_6.生成的那个sayHi_service.aar文件,可以扔到服务器Tomcat对应的axis2\web-inf\services下,启动Tomcat就行了

7.此处介绍一下加密访问,即客户端需要输入用户名和密码才能调用服务端

借鉴技术贴地址:https://blog.csdn.net/sxf1982/article/details/5615863

在进行数据同步的时候,有时候要调用一些系统自己开发的webservice,但是有些开发商为了项目进度并没有考虑安全问题。其实采取采取基于用户名和密码的访问控制,从实现上也是很方便的。基本思路是

7.1. 首先启用容器的访问控制功能;

7.2. 客户端在调用web 服务的时候,增加basic认证的参数。

7.3.在Tomcat安装目录conf文件夹找到Tomcat-users.xml文件,在标签中加入<role rolename="webservice"/><user username="admin" password="123456" roles="webservice"/>

7.4.在Tomcat安装目录中找到webapps\axis2\WEB-INF文件夹下的web.xml文件,在文件中加入下图中的一段话即可

这里webservice即对应Tomcat-users.xml中<role rolename="webservice"/>的webservice。 到此用户认证也配置完成了,当用户输入http://localhost:8080/axis2 ,点击services即被拦截然后跳出弹窗,结果如下图:

输入用户名和密码后跳入下图:

8.可以用soapui软件模拟客户端传入参数调用服务端接口 点击file--new soap project,输入project name ,这个可以随便取,输入initial wsdl ,即http://localhost:8080/axis2/services/MyService?wsdl

即发布webservice接口成功的地址

点击OK,跳出需要输入用户名和密码的登录认证窗口

输入用户名和密码后进入下图

图一中就是接口发布的方法,点击request后弹出右边图二内容,在问号中输入参数,然后请求发布的方法就可以看到执行结果了,图三中填入用户名和密码,用户每调用一次接口方法,就要输入用户名和密码。

至此,使用axis2发布接口的工作就完成了。

转载于:https://my.oschina.net/u/3913672/blog/1859101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值