快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx

上传人:b****5 文档编号:6854855 上传时间:2023-01-11 格式:DOCX 页数:25 大小:810.25KB
下载 相关 举报
快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx_第1页
第1页 / 共25页
快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx_第2页
第2页 / 共25页
快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx_第3页
第3页 / 共25页
快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx_第4页
第4页 / 共25页
快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx

《快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx》由会员分享,可在线阅读,更多相关《快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx(25页珍藏版)》请在冰豆网上搜索。

快速上手指南基于Eclipse Axis2 插件的Web Service开发.docx

快速上手指南基于EclipseAxis2插件的WebService开发

axis2创建webservice

(一)

axis2是新一代的webservice开发工具,它会让你的webservice开发变得轻松,快捷。

下面让我们以一个实际的例子来体验一下。

首先,工欲善其事,必先利其器。

就让我们先做好一些必备的准备工作吧。

 

1.下载axis2的2进制的包和war,现在的最新版本是1.4.1发布时间是2008-8-25

地址分别是:

                 

 

2.把下载后的war放入tomcat的webapps目录里,然后启动tomcat,这样war包就会自动解压为目录axis2

在浏览器中输入http:

//localhost:

8080/axis2/ ,如果一切正常你会看到下面的画面

 

 

 3,就开始准备一下axis2的eclispe的插件了。

axis2的eclispe插件分为2个,一个是帮助我们生成aar文件的,另一个是帮我们用wsdl文件生成stub代码的。

下载地址是

http:

//www.apache.org/dyn/mirrors/mirrors.cgi/ws/axis2/tools/1_4_1/axis2-eclipse-service-archiver-wizard.zip

 http:

//www.apache.org/dyn/mirrors/mirrors.cgi/ws/axis2/tools/1_4_1/axis2-eclipse-codegen-wizard.zip

下载完2个压缩文件后,可以直接把解压后的文件拷贝到plugins目录中,也可以在links目录中写文件路径的方式来安装插件,安装完插件后,打开eclipse,在packageexplorer中点击右键--->选择new---->other

如果安装正确你会看到

 这样准备工作就都做好了。

接下来就是正式开发了。

 

axis2创建webservice

(二)

工具都已经准备齐全了。

我们来动手做一个小例子来小试牛刀!

这一节我们先利用axis2来发布一个webservice的服务,然后在下一节我们做一客户端来调用这个服务。

我们的服务很简单的,就是输入一个字符串,然后打印出一段字符串。

代码很简单,主要是测试用。

 

Java代码

 

1.package com.deltaj.server;  

2.  

3.public class SimpleServer {  

4.  

5.    /** 

6.     * 简单的测试方法 

7.     *  

8.     */  

9.    public String simpleMethod(String name) {  

10.        return name + "Say this is a Simple method ^-^";  

11.    }  

12.  

13.}  

packagecom.deltaj.server;

publicclassSimpleServer{

/**

*简单的测试方法

*

*/

publicStringsimpleMethod(Stringname){

returnname+"SaythisisaSimplemethod^-^";

}

}

 

主要的过程就是如何利用axis2的eclispe插件来发布这个服务啦。

 

1。

在eclispe的packageExplorer中点击右键,在菜单中选择新建--->other...----->Axis2ServiceArchiver

 

2.然后点击next进入了类选择页面,在这个页面中的Class FileLocation选择框中选择类所在的文件夹。

 

 3.点击next之后进入了选择wsdl文件,这里我们选择skipwsdl。

 

 

4.点击next之后,进入的是选择jar文件的页面,这里我们没有外部的jar,所以点击next直接跳过这个页面。

 4.点击next之后,进入的是选择xml页面,这里我们选择的是自动生成xml,也就是勾选

Generatetheservicexmlautomatically这一项

 5.点击next之后,进入的是生成xml文件的页面,在servicename里填写这个服务所起的名字,这里我起名为simpleServer,然后在classname中填写要发布的类,这里一定要写全路径,写好后就可以点击load按钮,

如果一切ok的话,你会看到如下画面

 6点击next后,进入的是输出artiver文件的页面,先要在outputFile location中选择要输出的路径,

  在output FileName中输入artiver文件的名称。

我起的名字是simpleServer

 7.点击finish,如果看到如下的画面,恭喜你,服务发布成功啦。

 

8.接下来,我们就可以把这个aar文件放入tomcat中发布,首先把生成的aar文件拷贝到tomcat目录中的axis2项目的service目录中位置如图。

 

9.接下来启动tomcat,在地址栏中输入http:

//localhost:

8080/axis2 ,你会看到axis2的欢迎画面

 

 

10.点击Service连接,你会看到发布的服务列表。

这里面就能看到我们发布的simpleService

 11.点击我们的服务simpleServer的连接,我们会看到。

至此,服务发布成功。

axis2创建webservice(三)

      这节我们就来写一个客户端来调用一下这个服务。

主要关注一下如何用elispe的axis2的插件来生成stub代码。

1.在eclispe的packageExplorer中点击右键,在菜单中选择新建--->other...----->Axis2CodeGenerator

 

2.点击next,进入下一个页面,选择从wsdl文件来产生java文件。

 

3.点击next,然后选择wsdl文件,注意此处要填写上一节我们

 4.点击next,进入设置页面,这里我们就用默认的设置。

 

5. 点击next,选择输出文件的路径。

 

6.点击next,如果看到这个页面,恭喜你已经生成代码成功。

 

7.在packageExplorer中刷新一下项目,然后你发现出现2个新的文件SimpleServerStub和SimpleServerCallbackHandler。

打开SimpleServerStub你会惊喜的发现。

著名的小红叉一个接一个的这是因为没有axis2的类包。

我们可以在下载的axis2-1.4.1-bin中找到lib包,把其中的jar都加入我们的工程中。

然后重新编译一下工程,这时我们发现SimpleServerStub还是有几个小红叉。

这个是因为这个插件有个小bug。

生成的代码没有实现序列化方法。

我们可以自己来加上,在小红叉上点一下,弹出一个小菜单,选择Addunimplementedmethods.

 

 

8.

Java代码

 

1./** 

2. * 调用发布的服务。

 

3. *  

4. */  

5.public class SimpleClient {  

6.   

7. public static void main(String[] args) throws Exception{  

8.    

9.  //初始化桩文件  

10.  SimpleServerStub stub = new SimpleServerStub();  

11.  //初始化SimpleMethod方法。

  

12.  SimpleServerStub.SimpleMethod request = new  SimpleServerStub.SimpleMethod();  

13.  //调用simpleMethod的setName方法。

  

14.  request.setName("zt");  

15.  //  

16.  System.out.println(stub.simpleMethod(request).get_return());  

17.    

18.    

19. }  

20.}  

/**

 *调用发布的服务。

 *

 */

publicclassSimpleClient{

 

 publicstaticvoidmain(String[]args)throwsException{

  

  //初始化桩文件

  SimpleServerStubstub=newSimpleServerStub();

  //初始化SimpleMethod方法。

  SimpleServerStub.SimpleMethodrequest=new SimpleServerStub.SimpleMethod();

  //调用simpleMethod的setName方法。

  request.setName("zt");

  //

  System.out.println(stub.simpleMethod(request).get_return());

  

  

 }

}

  如果一切正常,你就会看到结果

log4j:

WARNNoappenderscouldbefoundforlogger(org.apache.axis2.description.AxisService).

log4j:

WARNPleaseinitializethelog4jsystemproperly.

ztSaythisisaSimplemethod^-^。

调用服务成功。

这是个简单的例子,下节我们再做一个复杂一点的例子,来更好的学习axis2

 

axis2创建webservice(四)

webservice

WebBeanlog4jEclipseQQ

     上节我们做了一个简单的例子,调用的服务里的方法只是简单返回一个字符串,这次我们要做一个复杂点的例子,调用服务里的方法返回一个javaBean对象。

      

      1.首先做一个简单的javabean,代码如下

Java代码

 

1.package com.deltaj.server;  

2.  

3.public class Persion {  

4.    // 姓名  

5.    private String name;  

6.    // 年龄  

7.    private int age;  

8.  

9.    public String getName() {  

10.        return name;  

11.    }  

12.  

13.    public void setName(String name) {  

14.        this.name = name;  

15.    }  

16.  

17.    public int getAge() {  

18.        return age;  

19.    }  

20.  

21.    public void setAge(int age) {  

22.        this.age = age;  

23.    }  

24.  

25.}  

packagecom.deltaj.server;

publicclassPersion{

//姓名

privateStringname;

//年龄

privateintage;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

}

 

 

2.做一个服务,里面只发布一个方面,这个方法返回这个bean。

Java代码

 

1.package com.deltaj.server;  

2.  

3.public class BeanServer {  

4.  

5.    /** 

6.     * 简单的测试方法 

7.     *  

8.     */  

9.    public Persion testMethod(String name, int age) {  

10.        Persion persion = new Persion();  

11.        persion.setName(name);  

12.        persion.setAge(age);  

13.        return persion;  

14.    }  

15.}  

packagecom.deltaj.server;

publicclassBeanServer{

/**

*简单的测试方法

*

*/

publicPersiontestMethod(Stringname,intage){

Persionpersion=newPersion();

persion.setName(name);

persion.setAge(age);

returnpersion;

}

}

 3.按照第二节的做法,把这个服务发布出来。

 4.同样按照第三节的方法,用这个wsdl来生成stub代码。

  5.然后我们开始做一个方法来调用一下这个服务。

Java代码

 

1.package com.deltaj.client;  

2.  

3.import com.deltaj.server.TestServerStub;  

4.  

5.public class BeanClient {  

6.    public static void main(String[] args) throws Exception{  

7.        // 初始化桩文件  

8.        TestServerStub stub = new TestServerStub();  

9.        // 初始化TestMethod方法。

  

10.        TestServerStub.TestMethod request = new TestServerStub.TestMethod();  

11.        // 设置bean的属性值。

  

12.        request.setName("delta ");  

13.        request.setAge(20);  

14.        //     

15.        System.out.println("The name is:

"+stub.testMethod(request).get_return().getName());  

16.        System.out.println("The age is:

"+stub.testMethod(request).get_return().getAge());  

17.    }  

18.  

19.}  

packagecom.deltaj.client;

importcom.deltaj.server.TestServerStub;

publicclassBeanClient{

publicstaticvoidmain(String[]args)throwsException{

//初始化桩文件

TestServerStubstub=newTestServerStub();

//初始化TestMethod方法。

TestServerStub.TestMethodrequest=newTestServerStub.TestMethod();

//设置bean的属性值。

request.setName("delta");

request.setAge(20);

//

System.out.println("Thenameis:

"+stub.testMethod(request).get_return().getName());

System.out.println("Theageis:

"+stub.testMethod(request).get_return().getAge());

}

}

 

6.如果按照这里说的做的话,你会看到

log4j:

WARNNoappenderscouldbefoundforlogger(org.apache.axis2.description.AxisService).

log4j:

WARNPleaseinitializethelog4jsystemproperly.

Thenameis:

delta

Theageis:

20

 

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

当前位置:首页 > 法律文书 > 调解书

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

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