1.Axis2:

到官网下载axis2的压缩包。

解压后:

1.将lib文件下的jar包复制到项目中

2.在web-inf下创建services->META-INF->services.xml,并将压缩包中的services.list、version-1.7.4.aar复制到services文件夹下

3.编写services.xml文件,配置发布的接口,格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<service name="testService" targetName="http://cn.itcast.test">
<parameter name="ServiceClass">cn.itcast.test.Test</parameter>
<operation name="add">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<operation name="aaa">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<!-- <operation name="saySorry">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<operation name="getWorld">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
</operation> -->
</service> 4.将编写好的services.xml文件替换version-1.7.4.arr中的services.xml文件(可以将version-1.7.4.arr修改后缀为zip然后打开找到services.xml文件并替换) 5.web.xml文件中配置axis2的servlet过滤器,格式如下: <?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Apache-Axis2</display-name>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <!-- <servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping> <servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
-->
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping> <!-- <servlet-mapping>
<servlet-name>AxisAdminServlet</servlet-name>
<url-pattern>/axis2-admin/*</url-pattern>
</servlet-mapping> <mime-mapping>
<extension>inc</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>/axis2-web/index.jsp</welcome-file>
</welcome-file-list> <error-page>
<error-code>404</error-code>
<location>/axis2-web/Error/error404.jsp</location>
</error-page> <error-page>
<error-code>500</error-code>
<location>/axis2-web/Error/error500.jsp</location>
</error-page>
</web-app> 启动服务器,访问接口的wsdl文档:http://localhost:8080/axis2Server/services/testService?wsdl,如果能访问到网页版xml格式文档,说明接口发布成功。 客户端生成代码及调用: 去官网下载axis2-1.7.4-bin里面有bin文件,bin文件下有各种以.bat为后缀的命令文件,新建一个自定义.bat文件,一般起名为generateCode.bat(中文:生成代码),文件中的内容如下: wsdl2java -uri http://localhost:8080/axis2Server/services/testService?wsdl -p axis2.service.server -o e:\cn; 上面语句的意思是:axis2.service.server是目录结构;e:\cn是生成在e盘的cn文件夹下。 然而上面的wsdl2java命令需要配置环境变量才能执行,配置环境变量如下: 系统变量下新建变量名:AXIS2_HOME值:E:\axis2-1.7.4-bin\axis2-1.7.4; 将AXIS2_HOME配置在Path中:%AXIS2_HOME%\bin; 这样AXIS2的环境变量就配置好了,运行自定义的generateCode.bat文件即可生成代码。 Axis2客户端调用代码: package cn.itcast.client; import java.rmi.RemoteException; import axis2.service.server.TestServiceStub; public class Client {
public static void main(String[] args) throws Exception { System.out.println(new Client().aa());
System.out.println(new Client().bb()); } public String aa() throws Exception {
//stub类
TestServiceStub testServiceStub = new TestServiceStub();
//Add方法名:作为一个类new出来
TestServiceStub.Add add = new TestServiceStub.Add();
//将new出来的方法名类作为参数放在要调用的方法里
testServiceStub.add(add);//此处的代码可省略,因为下面已经连写了testServiceStub.add(add).get_return(); return testServiceStub.add(add).get_return();
} public String bb() throws RemoteException{ TestServiceStub testServiceStub = new TestServiceStub();
TestServiceStub.Aaa aaa = new TestServiceStub.Aaa();
aaa.setA("你好周杰伦"); return testServiceStub.aaa(aaa).get_return();
}
}

webservice发布服务:AXIS2及客户端调用的更多相关文章

  1. spring mvc + mybaties + mysql 完美整合cxf 实现webservice接口 (服务端、客户端)

    spring-3.1.2.cxf-3.1.3.mybaties.mysql 整合实现webservice需要的完整jar文件 地址:http://download.csdn.net/detail/xu ...

  2. WebService从服务端到客户端的用例

    1.首先编写Wsdl(基于契约优先的方式),要注意的是命名空间(若是使用include或import)最好使用一致的,代码如下: <?xml version="1.0" en ...

  3. webservice发布问题,部署iis后调用不成功

    我使用的环境win8.vs2010.IIS8.0 vs2010中创建的webservice中的方法可以正常调用,但是发布到IIS上后,asmx文件能正常访问, 但是进入方法后, 点击 "调用 ...

  4. WebService发布服务例子

    import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface WebServiceI { ...

  5. webservice发布服务:CXF及客户端调用

    2.CXF:(与spring整合) CXF相对来说操作没有AXIS繁琐 1.导入spring的jar包和cxf的jar包 2.在spring的核心配置文件中配置发布的接口类 <?xml vers ...

  6. C#开发WEBService服务 C++开发客户端调用WEBService服务

    编写WEBService服务端应用程序并部署 http://blog.csdn.net/u011835515/article/details/47615425 编写调用WEBService的C++客户 ...

  7. 搭建基于asp.net的wcf服务,ios客户端调用的实现记录

    一.写wcf 问题: 1.特定的格式 2.数据绑定 3.加密解密 二.发布到iis 问题: 1.访问权限问题,添加everyone权限 访问网站时:http://localhost/WebbUploa ...

  8. webservice -- cxf客户端调用axis2服务端

    背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...

  9. CXF 动态创建客户端调用稳定版本号为2.7.18

    今天用动态创建客户端的方式调用webservice,报了这样一个错: 2017-01-05 20:51:46,029 DEBUG main org.apache.cxf.common.logging. ...

随机推荐

  1. 【三石jQuery视频教程】03.创建垂直时间表(Timeline)

    视频地址:http://v.qq.com/page/g/i/o/g0150rvi6io.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...

  2. 回文自动机(BZOJ2565)

    #include <cstdio> #include <cstring> #include <iostream> using namespace std; ][], ...

  3. JavaScript的理解记录(6)

    ---接上篇: 四.CSS相关: 1.CSS不支持注释// 支持注释/* */ 2. 几种浏览器厂商前缀: Firefox : -moz-;    Chrome:-webkit- ;      IE: ...

  4. 状态栏消息提示——使用Notification

    什么是Notification Notification用于在状态栏显示信息.这些信息一般来源于app的消息推送,或应用的一些功能控制(如播放器) Notification的两种视图 普通视图 借用官 ...

  5. Android Gradle 完整指南(转)

    本文转载来自:http://www.jianshu.com/p/9df3c3b6067a 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前 ...

  6. Matplotlib 学习笔记

    注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...

  7. centos 防火墙

    让防火墙放通tcp的 80端口: [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙以 ...

  8. extracting fasta records from a multi-fasta file based on a list using awk

    for i in $(cat gene_list) do awk -v RS=">" '($1==a){print ">"$0}' a=$i inp ...

  9. 6.初探Asynctask

    AsyncTask定义了三种泛型类型 Params,Progress和Result. Params 启动任务执行的输入参数,比如HTTP请求的URL.Progress 后台任务执行的百分比.Resul ...

  10. AOJ DSL_2_C Range Search (kD Tree)

    Range Search (kD Tree) The range search problem consists of a set of attributed records S to determi ...