axis2 webservice.docx

上传人:b****5 文档编号:29877126 上传时间:2023-08-03 格式:DOCX 页数:12 大小:218.21KB
下载 相关 举报
axis2 webservice.docx_第1页
第1页 / 共12页
axis2 webservice.docx_第2页
第2页 / 共12页
axis2 webservice.docx_第3页
第3页 / 共12页
axis2 webservice.docx_第4页
第4页 / 共12页
axis2 webservice.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

axis2 webservice.docx

《axis2 webservice.docx》由会员分享,可在线阅读,更多相关《axis2 webservice.docx(12页珍藏版)》请在冰豆网上搜索。

axis2 webservice.docx

axis2webservice

myeclipse8.5安装axis2插件

直接解压到dropins中,但试了几次File/other中却不能看到安装的axis2插件,最终还是这样搞好了?

奇怪

注意:

(1)Axis2_Codegen_Wizard_1.4.0中增加2个jar

backport-util-concurrent-3.1.jar、geronimo-stax-api_1.0_spec-1.0.1.jar,且修改plugin.xml增加这2个jar

(2)Axis2_Codegen_Wizard_1.4.0其实是1.3.0版本文件夹改个名,且修改plugin.xml中标签中的version为”1.4.0”

如果不进行上面的修改,使用axis2插件生成代码时可能会报错,不能成功生成。

Axis2开发webservice服务并调用的步骤

通过开发服务端类来发布服务

新建webproject:

sayhello

编写服务端类:

com.Hello.java和com.Other.java

packagecom;

/**服务端

*@authortower

*

*/

publicclassHello{

publicStringhelloworld(Stringname){

return"helloworld,"+name;

}

}

packagecom;

/**服务端

*@authortower

*

*/

publicclassOther{

publicintgetCount(){

return9999;

}

}

通过服务端类生成wsdl

Hello.java和Other.java的操作步骤是相同的,下面不再重复叙述,均以Hello服务为例。

最终将要生成的hello.wsdl[自定义名称]放到src目录下

通过wsdl生成aar,发布服务

下图选择wsdl,选择已经生成的wsdl文件(图切错了)

最终将aar文件包输出到WEB-INF下,并命名

将aar文件复制到tomcat/webapps/axis2/WEB-INF/services目录下。

启动tomcat将会看到所发布的服务:

HelloService、OtherService

IE输入http:

//127.0.0.1:

8080/axis2/services/listServices

开发客户端stub类来调用服务

通过wsdl生成java客户端类:

最终生成客户端类:

HelloStub.java和OtherStub.java

客户端【Jsp页面或者测试类】调用服务

编写java测试类,通过客户端stub调用服务

packagetest;

importjava.rmi.RemoteException;

importcom.client.HelloStub;

importcom.client.OtherStub;

importcom.client.HelloStub.Helloworld;

importcom.client.HelloStub.HelloworldResponse;

/**测试类

*@authortower

*

*/

publicclassTest{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

try{

//调用HelloService服务

HelloStubhelloStub=newHelloStub("http:

//127.0.0.1:

8080/axis2/services/HelloService");

Helloworldhelloworld=newHelloworld();

helloworld.setName("zgx---");

HelloworldResponseresp=helloStub.helloworld(helloworld);

System.out.println(resp.get_return());

//调用OtherService服务

OtherStubotherStub=newOtherStub("http:

//127.0.0.1:

8080/axis2/services/OtherService");

OtherStub.GetCountResponseresponse2=otherStub.getCount();

System.out.println(response2.get_return());

}catch(RemoteExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

jsp页面通过客户端stub调用服务

代码如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

<%@pageimport="com.client.HelloStub"%>

<%@pageimport="org.apache.axis2.client.ServiceClient"%>

<%@pageimport="com.client.HelloStub.Helloworld"%>

<%@pageimport="com.client.OtherStub"%>

<%@pageimport="com.client.*"%>

<%@pageimport="com.client.OtherStub.GetCountResponse"%>

<%@pageimport="com.client.HelloStub.HelloworldResponse"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"

+request.getServerName()+":

"+request.getServerPort()

+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'index.jsp'startingpage

--

-->

<%

//调用HelloService服务

HelloStubhelloStub=newHelloStub(

"http:

//127.0.0.1:

8080/axis2/services/HelloService");

Helloworldhelloworld=newHelloworld();

helloworld.setName("tower123");

HelloStub.HelloworldResponseresp1=helloStub

.helloworld(helloworld);

%>

调用HelloService服务的返回结果:

<%=resp1.get_return()%>

<%

//调用OtherService服务

OtherStubotherStub=newOtherStub(

"http:

//127.0.0.1:

8080/axis2/services/OtherService");

OtherStub.GetCountResponseresponse2=otherStub.getCount();

%>

调用OtherService服务的返回结果:

<%=response2.get_return()%>

 

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

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1