Axis-1_4 webService学习

来源:互联网 发布:java mail qq邮箱 编辑:程序博客网 时间:2024/05/17 01:10

WebService环境配置
一、准备工具:
IDE:eclipse luna Service Release 1a(4.4.1)
JDK:1.7
Tomcat:apache-tomcat-7.0.63-windows-x64
Axis:axis-1_4 下载地址:http://webscripts.softpedia.com/Apache-Axis/download/
这个Axis官网没办法下载。
借鉴文章:http://blog.csdn.net/tanguang_honesty/article/details/38660961
http://blog.csdn.net/xw13106209/article/details/7049614/
解压axis-src-1_4
把解压后的axis放到tomcat的webapp下
这里写图片描述

二、配置Eclipse环境
Jdk:
windowpreferencesinstalled jresAddNextDirectoryFinshok
这里写图片描述

配置tomcat :window–>preferences–>runtime environame–>add 选择本地磁盘的tomcat
这里写图片描述

三、新建web工程
注意:这边Dyname webmodule version我选中的2.5版本,第一次选的3.0好像有个报错,看到一篇文章是因为版本问题。
这边我已经建成了Test001
lib:把axis-1_4 lib下的jar包copy到Test001 WEB-INF下的lib内
这里写图片描述
在WEB-INF 下新建Servie-config.wsdd,
service-config配置,红色为必填
这里写图片描述
这里写图片描述

<ns1:service name="Calcute" provider="java:RPC">  <ns1:parameter name="allowedMethods" value="*"/>  <ns1:parameter name="className" value="com.wuyl.service.WebServiceTest"/> </ns1:service><ns1:service name="AdminService" provider="java:MSG">  <ns1:parameter name="allowedMethods" value="AdminService"/>  <ns1:parameter name="enableRemoteAdmin" value="false"/>  <ns1:parameter name="className" value="org.apache.axis.utils.Admin"/>  <ns1:namespace>http://xml.apache.org/axis/wsdd/</ns1:namespace> </ns1:service> <ns1:transport name="http">  <ns1:requestFlow>   <ns1:handler type="URLMapper"/>  </ns1:requestFlow>  <ns1:parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>  <ns1:parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>  <ns1:parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/> </ns1:transport>

注意:如果不写AdminService 在生成webservice 因为找不到adminservice的地址
异常错误:
IWAB0489E Error when deploying Web service to Axis runtime
axis-admin failed with {http://schemas.xmlsoap.org/soap/envelope/}Client The service cannot be found for the endpoint reference (EPR)

<ns1:service name="AdminService" provider="java:MSG">  <ns1:parameter name="allowedMethods" value="AdminService"/>  <ns1:parameter name="enableRemoteAdmin" value="false"/>  <ns1:parameter name="className" value="org.apache.axis.utils.Admin"/>  <ns1:namespace>http://xml.apache.org/axis/wsdd/</ns1:namespace> </ns1:service>

Web.xml配置:
这里写图片描述

 <servlet>    <servlet-name>AxisServlet</servlet-name>    <servlet-class>              org.apache.axis.transport.http.AxisServlet          </servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>AxisServlet</servlet-name>    <url-pattern>/services/*</url-pattern>  </servlet-mapping>  <servlet>

完成基本配置,接下来编写接口和实现类
接口类:ITestService.java

package com.wuyl.service;public interface ITestService {    public String queryName(String name);     public String querySex(String sex);    public String queryAge(String age);    public String showAllwu();    public String showAll();    public String helloWord(String str);}

接口实现类TestService

package com.wuyl.service;public class TestService implements  ITestService{    @Override    public String queryName(String name) {        // TODO Auto-generated method stub        return "我的名字"+name;    }    @Override    public String querySex(String sex) {        // TODO Auto-generated method stub        return "我的性别"+sex;    }    @Override    public String queryAge(String age) {        // TODO Auto-generated method stub        return "我的年龄"+age;    }    @Override    public String showAllwu() {        // TODO Auto-generated method stub        return "你的名字";    }    @Override    public String showAll() {        // TODO Auto-generated method stub        return "hello world";    }    @Override    public String helloWord(String str) {        // TODO Auto-generated method stub        return "我的小狗名字叫:"+str;    }}

发布webservice :右键new select a wizardwebserviceNext

Service implementation :选择实现接口的webservice类
Service implementation下面的滑块滑到Start service位置
Client type 下面的滑块划到Test Service 位置
这里写图片描述
Configuration :点击Servcer runtime,配置如下
这里写图片描述
OK Next
这里写图片描述
Next
如果新建webservice时没有启动服务,这边会提示启动服务,点击Start server
Next
这里写图片描述
服务启动完点击Next
这里写图片描述
浏览器测试接口方法
这里写图片描述
如果不点击Launch 直接点Next
这里写图片描述

点击Finsh
生成的测试项目结构
这里写图片描述
可以自行编写自己的测试类,不要断掉接口的服务,否则掉不到
这里写图片描述
完成。
关于webservice已经发布,再次更改接口内的方法同步问题:
只需要重新发布就可以,即重复发布的步骤。
作为初学webservice,记录下详细步骤,便于其他小伙伴参考。在这个过程折腾的错误很多,当时最大的阻力是那个一直报adminService一直找不到路径,
在查其他错误的时候看到一篇文章说admin路径找不到,然后就加了下 真的解决了。

原创粉丝点击