[JavaWebService-axis]-环境搭建
2016-05-20 07:05
761 查看
一、准备
1.下载环境需要的zip包JDK
Eclipse
axis(http://axis.apache.org/axis2/java/core/download.html)(axis2-1.7.0-bin.zip,axis2-1.7.0-war.zip,axis2-eclipse-codegen-plugin-1.7.0.zip,axis2-eclipse-service-plugin-1.7.0.zip)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/c5bbbbd5dd3d3b4935c2aeb819ca23ea.png)
omcat
2.安装axis插件(试错)
将axis2-eclipse-codegen-plugin-1.7.0.zip,axis2-eclipse-service-plugin-1.7.0.zip下载下来后,解压后是2个jar包,放在MyEclipse安装目录的plugins下后,重启后并没有如下图2:
File-》new-》other
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/904d3a513ec1123da1dd3df25fdf6705.png)
3.重新下载插件包(http://archive.apache.org/dist/ws/axis2/tools/)
在这个地址下面可以下载到相应的包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/5582a26d3363f2d609df1f2205d64a56.png)
你可以进入1_4_1,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/89fc69390b1b337587d41c4026973462.png)
下载这2个包后,解压。然后放在MyEclipse安装目录的dropins文件夹下(Eclipse是在plugins文件夹中),如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/0b3d317bc6b2c3fa456730e72b59138b.png)
然后重启MyEclipse,就可以了。再次重复File-》new-》other就有了图2中的,这里也可以用link文件配置试试。
二、配置
1.配置Tomcat 中WebService解析容器在上面下载的axis2-1.7.0-war.zip解压后,会有一个axis2.war文件,需要把该文件放入Tomcat目录下面的webapps文件夹下面。(浏览器运行会自动将war文件解压出来一个文件夹axis2 包含axis2-web、META-INF、org、WEB-INF)
2.启动Taomcat后,就可以访问http://localhost:8080/axis2/ ,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/b71b7d02e735cc38305483eb7e2da1d3.png)
三、编写Java版的Webservice
1.新建一个Web项目,如下图:![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/c50de988f2e08f5582340753bcbd924d.png)
2.新建一个上述的实体类,如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/8a4abfce017917205a84275e8233b42c.png)
3.把tomcat 安装目录下的webapps/axis2/中的axis2-web放到项目的WebRoot下(这步可不弄)
4. 把tomcat安装目录下的webapps/axis2/WEB-INF下的services和conf 和moduls 文件夹拷至项目下的WEB-INF目录下
5.修改conf目录下的axis2.xml,找到 <module ref=”addressing”/> 并将其注释掉
6.把lib下的jar包也拷到项目的lib下去。
以上4步操作,如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/1f0779eb5ca13b20e05290dc8075f708.png)
7.为该项目写一个部署描述。
在services下新建 Axis2Service(这个可以任取) /META-INF路径,META-INF下新建services.xml,内容如下:
<service name="ServiceTest" > //这个名字随意 <description> Test Service Example </description> <parameter name="ServiceClass"> cn.homily.action.FisrtDemo //这个必须是这个服务的类路径 </parameter> <operation name="getStr"> //这个是这个服务的方法名 <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> //这个应该是接收数据的配置 </operation> </service>
这样Webservice的配置工作基本上就好了
四、结果
1.部署项目 启动tomcat2.访问http://localhost:8080/WebserviceDemo/services/ServiceTest?wsdl(WebserviceDemo-项目名,services-是WEB-INF/services对应,ServiceTest-是上面7中的服务名),结果如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/9394a34cab31529d49da4a1b2dfa793a.png)
3.编写Java调用方法
新建如下图,Java项目
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/0eae403ab0ba8a34453e1b1a34989acf.png)
4.编写调用Webservice的代码
package cn.homily.action; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class InterfaceUserTest { public static void main(String[] args) { String url = "http://localhost:8080/WebserviceDemo/services/ServiceTest?wsdl"; String xmlData= "www.homily.cn"; try { Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress(url); call.setOperationName(new QName("http://action.homily.cn", "getStr")); call.setTimeout(new Integer(5000)); String retu = ""; try { retu = (String) call.invoke(new Object[] { xmlData}); } catch (Throwable e) { e.printStackTrace(); } } catch (ServiceException e) { e.printStackTrace(); } } }
5.执行Run As,结果如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/bc5470297e07a1d207740e77ab72d5d1.png)
五、问题
1.The ServiceClass object does not implement the required method in the following form: OMElement getDocSummary(OMElement e)![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/05/a54985865042364fac6f7237995f565a.png)
加个这个即可:mep=”http://www.w3.org/2004/08/wsdl/in-out”
六、参考资料
http://www.tuicool.com/articles/BjUNrqhttp://blog.csdn.net/a491057947/article/details/19356731 http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html http://www.cnblogs.com/hoojo/archive/2010/12/20/1911363.html http://www.blogjava.net/xcp/archive/2010/08/18/329244.html http://blog.csdn.net/xumengxing/article/details/13093573 http://clq9761.iteye.com/blog/976029/ http://www.cnblogs.com/newsouls/p/3799760.html http://www.cnblogs.com/leslies2/archive/2012/09/07/leslies2Blog_java_axis.html http://blog.sina.com.cn/s/blog_6d187d270101cd3c.html http://blog.csdn.net/xiang520jl/article/details/15504175 http://bbs.csdn.net/topics/230021916 http://blog.csdn.net/kunga0814/article/details/42775331 http://bbs.csdn.net/topics/220018567 http://blog.csdn.net/fengyun111999/article/details/6057862 http://www.hongxuejing.com/java/article-62.html http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html
七、项目文件
1.Webservice服务http://pan.baidu.com/s/1hrU0KNq
2.调用方法
http://pan.baidu.com/s/1kUCJJy3
需要密码请联系本人
相关文章推荐
- java 执行command
- IntelliJ IDEA 使用心得与常用快捷键
- android sdk content loader 0% eclipse
- struts2框架入门级Demo(简易用户登录)
- javaEE是什么
- eclipse在高分屏下的DPI调整方案
- 将jar转换成exe,将jre一起打包生成Setup.exe,在没有jdk环境运行
- SpringBoot框架初接触
- Java基础——final关键字
- Spring Resource加载资源
- Eclipse 在ubuntu桌面显示快捷启动以及解决Eclipse 在ubuntu中点击菜单栏不起作用的原因.
- java基础第三天_数组
- Java基础之比较器 Comparable和Comparator
- SpringMVC Redirect 跳转后保存Model中的数据
- Java反射获得枚举、日期、数字类型对象
- 从0开始写JavaWeb框架系列(1)从0开始写SamrtFrameWork:读取配置文件
- JUnit4
- Java方法重载
- Java数据类型
- Java中四种XML解析技术