`
dragonxiangfu
  • 浏览: 156504 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Axis2生成客户端代码和测试代码

 
阅读更多

第一篇

一、环境准备

1.1软件下载准备

Tomcat 5.5下载地址:

http://tomcat.apache.org/download-55.cgi#5.5.20

Axis War包:

http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war

Axis Eclipse plug-in(代码生成工具和打包工具)
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip

http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip

Eclipse 3.2

http://www.eclipse.org/

MyEclipse5.5M1

http://www.myeclipseide.com/

1.2安装

A.首先搭建开发环境,将下载的Eclipse解压缩到一个目录,D:\eclipse

B.将下载到的Axis的两个plug-in解压缩到eclipse\plugins目录下;

C. 进入D:\eclipse\links目录,如果没有links目录就自己新建一个;在links目录下新建“axis-eclipse-plugin.link”文档;编辑该文档,写上path=D:\eclipse\plugins

D.安装MyEclipse5.5M1,eclipse目录指向D:\eclipse,删除D:\eclipse\configuration下的org.eclipse.update目录。然后启动MyEclipse,选择“File->New->Other”可以看到如下的两个界面。

1)、Axis2 plugins

2)、Web Servieces plugins

E.下面开始搭建Web Services的部署环境。

将下载的tomcat5.5解压缩到一个目录D:\Tomcat5.5

F.axis2.war包拷贝到tomcat安装目录下的webapps目录。

G.启动Tomcat(D:Tomcat5.5binstartup.bat),打开浏览器输入并访问:http://127.0.0.1:8080/axis2来查看,结果如下图,表示axis2已经工作正常。

二、快速开始

2.1创建webApps项目

启动MyEclipse,新建立一个WebAppsFile->New->Project->Web Project,Project Name SayHello,其他保持不改变。

2.2创建WSDL文件

A.选择File->New-Other菜单,进入后找到MyEclipse->Web Services并选择WSDL.如下图:

B.点击下一步按钮,显示如下图:

C.选择“src”目录作为“Enter or select the parent folder”的值,“File name”值给定为SayHello.wsdl

D.下一步,所有界面内容取默认值,Finish

E.显示WSDL设计器的界面如下:

F.修改图中标红色的部分:
修改图中的NewOperationSayHello;
修改inputparametersSayHelloRequest;
修改outputparametersSayHelloResponse;
修改完后如下图:

红色框内为变化的内容,WSDL文件修改完毕。

2.3WSDL生成Java代码

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Code Generator.点击“Next

B.进入下一个页面,保持“Generate java source code from WSDL file”被选中,点击“Next”进入下一步。
C.点击“Browse”来选取存放在src目录下的SayHello.wsdl文件,“Next”进入下一步。

D.首先生成客户端代码和测试代码,设置如下:

E.下一步后,选择SayHellosrc目录,如下图:

Finish !

F.重复从AC的步骤,然后生成服务端代码,设置如下:


后面同E

G.结束后,刷新项目,如图:

这是由于没有将Axis2jar包放入class path中以及源代码的package不为org.example.www.sayhello引起的。

H.修改包名为org.example.www.sayhello并从tomcat中的axis2 web应用WEB-INF/lib目录中加载所有jar包到项目的classpath中。

I.SayHelloTest.java中引入junit包。

2.4编写业务代码

打开SayHelloSKeleton.java文件其中的方法如下:

publicorg.tonyzhangcn.ws.sayhello.SayHelloResponseSayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequestparam0)

{

//Todofillthiswiththenecessarybusinesslogic

thrownewjava.lang.UnsupportedOperationException();

}

修改为:

publicorg.tonyzhangcn.ws.sayhello.SayHelloResponseSayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequestrequest)

{

try {

SayHelloResponse response = new SayHelloResponse();

response.setOut("Hi,"+request.getIn()+".How are you?");

return response;

}catch(UnsupportedOperationException e)

{

throw e;

}

}

2.5打包

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Services Archive.点击“Next”进入下一个页面。

B.选择编译好的class文件所在目录(本项目应该是WebRoot下面WEB-INF/classes),“Next”进入下一步。

C.选择WSDL文件所在目录,此处为src目录下的SayHello.wsdl文件。“Next,再“Next”。选择services.xml文件。

D.点击“Next”,将记入最后一个页面,此处有两个选项,一个是输出目录一个是处处文件名称。这里的输出文件名称给的是SayHello。点击“Finish”完成。

2.6部署

A.将打包好的文件SayHello.jar拷贝到Tomcat中已经部署的Axis2应用的WEB-INF/services目录下面。

B.重新启动Tomcat

C.打开浏览器,输入http://127.0.0.1:8080/axis2,并点击其中的“services”链接可以看到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL

2.7调用测试
A.
修改SayHelloTest.java文件中的方法testSayHello的内容为:

public void testSayHello() throws java.lang.Exception {

String url="http://localhost:8080/axis2/services/SayHello";

org.example.www.sayhello.SayHelloStub stub = new org.example.www.sayhello.SayHelloStub(url);

org.example.www.sayhello.SayHelloStub.SayHello request = (org.example.www.sayhello.SayHelloStub.SayHello) getTestObject(org.example.www.sayhello.SayHelloStub.SayHello.class);

request.setIn("Teamlet");

System.out.println(stub.SayHello(request).getOut());

assertNotNull(stub.SayHello(request));

}

从菜单中选择“Run>Run as->JUnit Test 完成测试!

第二篇

WebService之axis2的使用(一)

使用到的资源列表

在搭建axis2环境之前首先你需要一下文件

用于部署到tomcat中的 axis2-1.4-war包以及生成客户端代码用到的axis2-1.4-bin

axis2-1.4-bin

axis2-1.4-war

还有1.3版本的也可与选中

axis2-1.3-bin.zip

axis2-1.3-docs.zip

axis2-1.3-src.zip

axis2-1.3-war.zip

另外还有我们用到的基于eclipse的插件

Axis2_Codegen_Wizard_1.3.0

Axis2_Service_Archiver_1.3.0

Axis2_Codegen_Wizard_1.3.0是下自于网上一个修改过的版本,但是发现生成出来的代码还是会有很多错误,所以我们生成代码时会采用手工的方式

好了这些文件都有了后我们就可以开始了

注:附件中由于网站的大小限制我只上传了部分资源,大家可以去网上搜索其他的资源

· WebService之axis2的使用(二)

· 生成wsService服务端代码

·

· 首先我们需要设置下axis2开发的环境

·

· 你需要设置你的JAVAHome,这在后面会用到

· 1.axiswar包放入tomcat服务器的webapps目录下,启动tomcat,访问http://127.0.0.1:8081/axis2/能够看到下面的页面即表示axis2安装成功

·

·

· 2.解压Axis2_Codegen_Wizard_1.3.0Axis2_Service_Archiver_1.3.0插件到eclipseplugins目录下,启动myeclipase或者你的eclipse

· 3.新建WEB项目HelloWS,在项目上单击右键选择新建->其他,看到下图则表示插件安装成功,同时需要将axis2-1.3-bin.zip解压后的文件中的lib目录下的所有JAR包添加到项目的构建路径中,我们这里将axis2-1.3-bin.zip解压到DA盘“D:\axis2\axis2-1.3”目录下,我在这里使用的myeclipase6.

·

·

·

· 4新建simple,在该包下新建类Hello如下

·

· package simple;

·

· publicclass Hello {

· public String sayHello(String str){

· System.out.println("hello"+str);

· return"hello"+str;

· }

· }

· 5.在项目中单击右键,选择新建->其他,选择Axis2 Wizards下的Axis2 Service Archiver,点击next进入下一个页面

·

·

·

·

· 在该页面中设置你的JAVA类编译后存放的CLASS目录,记住这里的目录不需要包括JAVA包

· 点击next进入下一个设置页面

·

·

· 选择第一个SkipWSDL,点击Next进入下一页,该页我们不设置,再点击Next

· 进入如下页面

·

·

·

· 选中复选框生成service.xml文件,点击next

·

·

·

· 在该页面中填入ServiceNameClassName(你将要作为webservice暴露的JAVA类的全路径)

· 选择Search declared methods only只显示你定义的方法,然后在列表中选择你需要暴露的方法,点击next

·

·

· 选择生成文件的输入目录以及文件名称,你可以直接将文件输出到“Tomcat 5.5\webapps\axis2\WEB-INF\services”目录下,也可以将文件先放到别处然后拷贝过去。这里我先保存到桌面然后拷贝过去。

·

· 6.重新启动tomcat访问路径http://127.0.0.1:8081/axis2/services/HelloWS?wsdl即可看到wsdl文件如下

·

·

· 这样第一个WS服务及发布成功了。

WebService之axis2的使用(三)

axis2客户端

有了服务端后我们要做的就是在客户端里去调用他了,这里作为测试我们就都放在一个项目里进行了。

1HelloWS项目中新建包wsTest

2 在系统中运行命令行提示符进入之前解压axis2-1.3-bin.zip存放的bin目录D:\axis2\axis2-1.3\bin,输入命令如下

Wsdl2java –urihttp://127.0.0.1:8081/axis2/services/HelloWS?wsdl –p wsTest(命令说明会在后面说)

注意,在复制上面命令的时候需要重新将减号“-”输入

运行该命令后去D:\axis2\axis2-1.3\bin目录下,发现新增src目录,我们生成的客户端代码就在这下面,将代码拷贝到myeclipase新建的wsTest包下

wsTest下新建Test

package wsTest;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

publicclass Test {

publicstaticvoid main (String []args)throws RemoteException{

HelloWSStub stub = new HelloWSStub();//new一个stub对象

HelloWSStub.SayHello request = new HelloWSStub.SayHello();//获取到暴露的sayHello对象

request.setStr("张飞");//设置用到的参数

HelloWSStub.SayHelloResponse response = stub.sayHello(request);//获取执行后的返回值

System.out.println("Response : " + response.get_return());//打印

}

}

运行后,控制台打印

至此,一个简单的webservice调用成功

附件为示例源码,以及在tomcat下的Tomcat 5.5\webapps\axis2\WEB-INF\services 下的HelloWS_service.aar文件

分享到:
评论

相关推荐

    联通vac割接 用axis1.4生成客户端源码

    联通vac割接测试订购关系处理部分...用axis1.4生成客户端源码 <备注> vac处理业务不仅可以处理包月,点播也是可以处理的。这个需要在联通PRM平台申请业务的时候选择 “需要2次确认”,所以请仔细看好-VAC与SP接口规范

    Axis1.4生成webservice客户端 Axis1.4包及使用方法

    1. 将lib包下的所有的jar包,添加到classpath中。 2. 运行命令: java org.apache.axis.wsdl.WSDL2Java -u http://xxxxxx?wsdl -p com.webservice.wsdl -t... -t 生成的java文件中包含junit的测试代码。 详见文档。

    myeclipse8.5使用axis2插件开发webservice服务并调用--操作步骤图解

    使用myeclipse8.5安装axis2插件,工程主要是通过server端类生成服务,生成客户端。 1、使用服务端类com.Hello.java,com.Other.java生成wsdl、aar文件【aar文件通过axis2插件的Axis2 service archiver生成】【wsdl...

    myeclipse8.5使用axis2插件开发webservice服务并调用

    2、使用wsdl生成客户端HelloStub.java、OtherStub.java【通过axis2插件的Axis2 code generator生成】 3、测试类或者jsp页面,可以通过2中的客户端类来调用服务 例如: HelloStub helloStub=new HelloStub(...

    WSDL2Java及axis2-1.5-bin.zip的包

    使用axis2-1.5开发包 从最简单的开始 ,-uri 指定wsdl文件> WSDL2Java -uri currencyConvert.wsdl-d 使用不同的data binding方法> WSDL2Java -uri currencyConvert.wsdl -d xmlbeans-a 生成异步的方法> WSDL2Java -...

    axis2_java_test.zip

    先解压idea项目进行测试,再看wsdl客户端生成.txt自行生成客户端代码测试

    axis-getgeoip:如何将Axis2与WSDL2Code一起使用以调用公共SOAP Web服务

    带有WSDL2Code的Axis2 SOAP客户端演示您好,这里是一个演示项目,该项目使用Axis2及其WSDL2Code生成器调用公共Web服务 。要求JDK 1.7+(在jdk1.7.0_79上测试) Apache Maven 3.x(在3.2.5上测试)跑步只需输入: mvn...

    AXIS入门指南-webservice

    我自己编写的axis入门指南,真实的记录了我第一次开发webservice的过程,包括如何得到开发资料,如何生成stub,服务器端代码,客户端测试用例,非常适合刚入门的开发webservice的程序员.一步一步地,过程非常详细.希望给您...

    Webserver开发指南

    本文是关于webservcie开发指南,其中主要包括:基本概念、使用axis来进行开发和测试、axis和spring集成开发、aixs和web服务期集成开发、通过ObjectWeb Lomboz工具生成客户端和服务器代码方式等等。 核心内容包括: ...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    WebServiceCodeSamples:我的电子商务技术项目(Web 服务)的软件存储库

    Eclipse 用于生成客户端和用于将代码转换为 Web 服务的 WSDL,以及在本地测试服务。 部署服务 该服务已存档并部署到准备测试的远程服务器上。 它被部署为具有“aar”文件扩展名的 Axis,以便于顺利传输到 Axis2 ...

    java开源包8

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包10

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包2

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包1

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包11

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包3

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包6

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

Global site tag (gtag.js) - Google Analytics