快速上手AXIS2.docx

上传人:b****2 文档编号:2298186 上传时间:2023-05-03 格式:DOCX 页数:12 大小:79.76KB
下载 相关 举报
快速上手AXIS2.docx_第1页
第1页 / 共12页
快速上手AXIS2.docx_第2页
第2页 / 共12页
快速上手AXIS2.docx_第3页
第3页 / 共12页
快速上手AXIS2.docx_第4页
第4页 / 共12页
快速上手AXIS2.docx_第5页
第5页 / 共12页
快速上手AXIS2.docx_第6页
第6页 / 共12页
快速上手AXIS2.docx_第7页
第7页 / 共12页
快速上手AXIS2.docx_第8页
第8页 / 共12页
快速上手AXIS2.docx_第9页
第9页 / 共12页
快速上手AXIS2.docx_第10页
第10页 / 共12页
快速上手AXIS2.docx_第11页
第11页 / 共12页
快速上手AXIS2.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

快速上手AXIS2.docx

《快速上手AXIS2.docx》由会员分享,可在线阅读,更多相关《快速上手AXIS2.docx(12页珍藏版)》请在冰点文库上搜索。

快速上手AXIS2.docx

快速上手AXIS2

Axis2简介

ApacheAxis2是Axis的后续版本,是新一代的SOAP引擎。

Axis2的主要特点有:

1)采用名为AXIOM(AXIsObjectModel)的新核心XML处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。

2)支持不同的消息交换模式。

目前Axis2支持三种模式:

In-Only、Robust-In和In-Out。

In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。

3)提供阻塞和非阻塞客户端API。

4)支持内置的Web服务寻址(WS-Addressing)。

5)灵活的数据绑定,可以选择直接使用AXIOM,使用与原来的Axis相似的简单数据绑定方法,或使用XMLBeans、JiBX或JAXB2.0等专用数据绑定框架。

6)新的部署模型,支持热部署。

7)支持HTTP,SMTP,JMS,TCP传输协议。

8)支持REST(RepresentationalStateTransfer)。

有关Axis2更加详细的介绍,可以访问Axis2网站http:

//ws.apache.org/axis2/

创建服务器端和客户端有5种方式

这里只介绍ADB的方式

首先去apache官方网站下载

http:

//ws.apache.org/axis2/download/1_4/download.cgi

WAR(WebArchive)Distribution包version1.4

解压后是个war包把它COPY到%Tomcat_HOME%\webapps下

启动TOMCAT通过这个地址访问http:

//localhost:

8080/axis2

会看见这个界面表示发布成功。

点Administration可以进入登陆界面用户名admin密码axis2这里你可以上传你要发布的services也可以直接把你要上传的文件打个.aar的包放到Tomcat_home\webapps\axis2\WEB-INF\services下也可以下面说一下怎么创建自己的webservices首先在ECLIPSE建立一个javaproject

建立一个包叫sinosoft在建立一个文件夹名字叫META-INF在这个文件夹下建立一个Services.xml结构如图

Services.xml文件内容如下

xmlversion="1.0"encoding="UTF-8"?

>

StockQuoteSampleService

mep="http:

//www.w3.org/2004/08/wsdl/in-only"

class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>

mep="http:

//www.w3.org/2004/08/wsdl/in-out"

class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

sinosoft.AdbService

服务器端代码如下

*@(#)Person.java2008-11-27;

*

*@Company

*/

packagesinosoft;

/**

*@description

*@version<1.0>

*@Author

*@Date2008-11-27

*/

publicclassPerson{

privateStringid;

privateStringname;

privateStringage;

privateStringsex;

publicStringgetAge(){

returnage;

}

publicvoidsetAge(Stringage){

this.age=age;

}

publicStringgetId(){

returnid;

}

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetSex(){

returnsex;

}

publicvoidsetSex(Stringsex){

this.sex=sex;

}

publicStringgetALL(){

return"id="+id+"age="+age+"sex="+sex+"name="+name;

}

}

 

/*

*@(#)AdbService.java2008-11-26;

*

*@Company

*/

packagesinosoft;

/**

*@description

*@version<1.0>

*@Author

*@Date2008-11-26

*/

publicclassAdbService{

publicPersonsetPerson(Stringid)

{

Personp=newPerson();

p.setId(id);

p.setAge("20");

p.setName("zhangxu");

p.setSex("0");

returnp;

}

publicPersongetPerson(Personp)

{

Person_p=p;

p.setId("1");

p.setAge("20");

p.setName("zhangxu");

p.setSex("0");

returnp;

}

}

这样服务器端的代码已经完成接下来打个aar的包就可以了.

进入项目目录下执行打包命令jar–cvfAdbService.aar*;

把AdbService.aar拷贝到Tomcat_home\webapps\axis2\WEB-INF\services

启动tomcat_home通过http:

//localhost:

8080/axis2/services/listServices访问可以看到你的

Services

Services已经发布成功现在就可以写客户端调用了

客户端步骤如下:

去http:

//ws.apache.org/axis2/download/1_4/download.cgi下载

StandardBinaryDistribution的ZIP包axis2-1.4-bin.zip

解压后axis2-1.4文件夹

写个bat文件生成客户端代码框架

setAXIS2_HOME=解压后axis2-1.4的目录

%AXIS2_HOME%\bin\WSDL2Java

-urihttp:

//localhost:

8080/axis2/services/AdbService?

wsdl-p包名-dadb-s-o输出的路径>log.txt

Pause\

执行此BAT文件把生成的代码拷贝到你的客户端

客户端代码如下

*@(#)Test.java2008-11-27;

*

*@Company

*/

packagesinosoft;

importjava.rmi.RemoteException;

importorg.apache.axis2.AxisFault;

/**

*@description

*@version<1.0>

*@Author

*@Date2008-11-27

*/

publicclassTestClient{

publicstaticvoidmain(Stringargs[]){

try{

AdbServiceStubstub=newAdbServiceStub(

"http:

//localhost:

8080/sinocms/services/AdbService");

AdbServiceStub.Persongp=getPerson(stub);

AdbServiceStub.Personsp=setPerson(stub);

System.out.println("gp="+gp.getALL());

System.out.println("sp="+sp.getALL());

}catch(AxisFaulte){

e.printStackTrace();

}

}

/*fireandforget*/

publicstaticAdbServiceStub.PersongetPerson(AdbServiceStubstub){

//声明一个PERSON对象

AdbServiceStub.Personpeson=newAdbServiceStub.Person();

//一个SERVICE中GETPERSON的句柄

AdbServiceStub.GetPersongp=newAdbServiceStub.GetPerson();

gp.setP(peson);

AdbServiceStub.GetPersonResponseres=null;

try{

res=stub.getPerson(gp);

}catch(RemoteExceptione){

e.printStackTrace();

}

returnres.get_return();

}

/*fireandforget*/

publicstaticAdbServiceStub.PersonsetPerson(AdbServiceStubstub){

//声明一个PERSON对象

//一个SERVICE中GETPERSON的句柄

AdbServiceStub.SetPersonsp=newAdbServiceStub.SetPerson();

sp.setId("01");

AdbServiceStub.SetPersonResponseres=null;

try{

res=stub.setPerson(sp);

}catch(RemoteExceptione){

e.printStackTrace();

}

returnres.get_return();

}

}

 

Axis2整合到自己的Web应用程序中的过程。

1.将axis2.war发布到%TOMCAT_HOME%\webapps中,发布后的目录为%TOMCAT_HOME%\webapps\axis2

,该目录定义为%AXIS2_HOME%.

2.拷贝%AXIS2_HOME%\WEB-INF目录下所有内容到%MY_APPS%\WEB-INF目录下。

3.修改%MY_APPS%\WEB-INF目录下的web.xml文件,其中需要保留的axis2的配置内容如下:

--Axis2ServiceServletandservletmappings-->

 

--===========================================-->

AxisServlet

org.apache.axis2.transport.http.AxisServlet

10

AxisAdminServlet

org.apache.axis2.transport.http.AxisAdminServlet

AxisServlet

/servlet/AxisServlet

AxisServlet

*.jws

AxisServlet

/services/*

AxisAdminServlet

/axis2-admin/*

 

--===========================================-->

4.发布%MY_APPS%应用程序,发布WebService到%MY_APPS%\WEB-INF\services\下,一般为.aar文件。

5.可以从客户端访问:

http:

//localhost:

8080/My_APPS/services/SomeService访问该WebService.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2