1.去http://axis.apache.org/axis2/java/core/download.cgi 下载axis2 1.41 Binary Distribution
2.配置axis2的环境变量
3.在eclipse中配置axis2路径
开发Web Service:
一、新建一个Java Project,命名为"axis2Study";
二·、新建一个po类,命名为"Student",完整代码如下:
package com.nj.po;
public class Student {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Student [age=" + age + ", name=" + name + "]";
}
}
三.新建一个服务类 StudentManager :
package com.nj.server;
import com.nj.po.Student;
public class StudentManager {
public RtnMeg addStudent(Student stu){
RtnMeg meg=new RtnMeg();
meg.setRtnCode(0);
meg.setRtnMeg("success");
System.out.println(stu.toString());
return meg;
}
}
3、在"WS_01"项目上new --> other,找到"Web Services"下面的"Web Service";
4、下一步(next),在出现的Web Services对象框,在Service implementation中点击"Browse",进入
Browse Classes对象框,查找到我们刚才写的写的StudentManager类。(如下图)。点击"ok",则回到
Web Service话框。
5、在Web Service对话框中,将Web Service type中的滑块,调到"start service“的位置,将Client
type中的滑块调到"Test client"的位置。
6、在Web Service type滑块图的右边有个"Configuration",点击它下面的选项,进入Service
Deployment Configuration对象框,在这里选择相应的Server(我这里用Tomcat6.0)和Web Service
runtime(选择Apache Axis2),如下图:
7、点OK后,则返回到Web Service对话框,同理,Client type中的滑块右边也有"Configuration",也
要进行相应的置,步骤同上。完成后,Next --> next即行。
8、到了Server startup对话框,有个按键"start server"(如下图),点击它,则可启动Tomcat服务器
9、等启完后,点击"next -- > next",一切默认即行,最后,点击完成。最后,出现如下界面:(Web
Service Explorer),我们在这里便可测试我们的Web服务。
至此http://127.0.0.1/axis2Study/services/StudentManager?wsdl 已经能访问了,同时客户端,服务端代码都已生成
10.在axis2StudyClient项目也创建一个com.nj.po包,创建一个同样的Student类,这一步重要,否则后面会报错
package com.nj.po;
public class Student {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Student [age=" + age + ", name=" + name + "]";
}
}
11.测试客户端
package com.nj.client;
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
import com.nj.po.Student;
import com.nj.server.StudentManagerStub;
public class TestClient {
public static void main(String[] args) throws RemoteException {
System.out.println("*****************************stub*****************************");
stub();
System.out.println("*****************************rpc*****************************");
rpc();
}
public static void stub() throws RemoteException{
StudentManagerStub stub = new StudentManagerStub("http://127.0.0.1/axis2Study/services/StudentManager");
// 创建Student对象
StudentManagerStub.Student Student = new StudentManagerStub.Student();
Student.setAge("23");
Student.setName("张三");
// 设置要调用的方法的值
StudentManagerStub.AddStudent addStudent = new StudentManagerStub.AddStudent();
addStudent.setStu(Student);
// 调用getStudent并得到相应的返回值
StudentManagerStub.AddStudentResponse response = stub.addStudent(addStudent);
System.out.println("age="+ response.get_return().getAge());
System.out.println("name="+ response.get_return().getName());
}
public static void rpc() throws AxisFault{
RPCServiceClient client = new RPCServiceClient();
Options option = client.getOptions();
// 指定客户端访问的webservice服务器端地址
EndpointReference erf = new EndpointReference("http://127.0.0.1/axis2Study/services/StudentManager");
option.setTo(erf);
// 指定命名空间,指定要调用的方法
QName name = new QName("http://server.nj.com","addStudent");
// 创建Student对象
Student Student = new Student();
Student.setAge("20");
Student.setName("张三");
// 创建要传送的object数组
Object[] object = new Object[]{Student};
// 创建返回的参数类型
Class[] returnTypes = new Class[]{Student.class};
// 调用远程服务,得到返回的object数组
Object[] response = client.invokeBlocking(name, object, returnTypes);
// 强制转换成Student对象
Student stu = (Student)response[0];
System.out.println(stu.toString());
}
}
分享到:
相关推荐
Axis2是Apache软件基金会开发的一个开放源码的Web服务框架,它主要用于构建高效...总的来说,了解并熟练使用Axis2_Codegen_Wizard_1.3和Axis2_Service_Archiver_1.3,是成为一名合格的Axis2 Web服务开发者的关键步骤。
Axis是Apache软件基金会开发的一个SOAP(简单对象访问协议)栈,它允许开发者创建和使用Web服务。在Java编程环境中,Axis提供了用于处理XML数据的强大工具,特别是在构建基于SOAP的服务和客户端时。 描述中提到,这...
标签中的"axis2"虽然与标题中的"axis-1_4"有所区别,但通常可以理解为提及了Axis的另一个版本——Axis2。Axis2是Axis1的升级版,提供了一种全新的架构,增强了性能和可扩展性。不过,在这里,我们主要关注的是Axis...
描述中提到的使用方法非常直观:将解压后的Axis2_Service_Archiver_1.3.0文件夹放到Eclipse的dropins目录下,然后重启MyEclipse。这样做是因为Eclipse和MyEclipse支持自动识别dropins目录下的插件,从而自动安装并...
MyEclipse下开发Web Service(Axis)所需要的插件,加压缩后直接放在eclipse/plugins下。注意版本是1.3.0,之前我用的是1.1.1打包代码是出现了filesets错误,换成...axis2-1.5.4-war解压放在Tomcat WebApp下就可以了。
在`axis2_demo`项目中,我们将看到如何创建和调用Web服务,以实现不同类型的数据传输。在描述中提到的"传List",意味着我们可以传递Java集合,如ArrayList或LinkedList等,作为Web服务的参数。这使得Web服务能够处理...
使用Axis2_Service_Archiver,开发者可以将服务相关的所有组件整合到一个AAR文件中,然后通过 Axis2管理界面或命令行工具进行部署。 在Eclipse集成开发环境中,轴插件(axis eclipse plug-in)为开发者提供了友好的...
标题中的“spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s”指的是一个关于Spring和Axis2集成的示例项目,它包含了一组用于演示如何在Spring框架中使用Apache Axis2来开发和部署Web服务的源代码...
在实际应用中,开发人员会使用Axis提供的工具(如`wsdl2java`)将WSDL文件转换为Java源代码,然后在项目中引用这些生成的类来调用Web服务。这些类通常实现了Web服务的所有操作,并处理了与服务之间的通信细节,如...
当您生产java代码报异常时,请将axis2/web-inf/lib下的backport-util-concurrent-2.2.jar和stax-api-1.0.1.jar(注意版本)放进Axis2_Codegen_Wizard_1.3.0\lib中,并修改plugin.xml文件,具体参照网上(注意版本号...
2. 通过WSDL:先编写WSDL文档,然后使用Axis的wsdl2java工具自动生成Java代码。 3. 通过XMLBeans或JAXB:这些数据绑定技术可以将XML结构映射到Java对象,简化数据交换。 六、Axis的使用 使用Axis 1.4,开发者可以...
标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...
标题 "axis-1_4.jar" 提到的是一个特定版本的 Axis 框架的库文件,Axis 是一个流行的开放源代码 SOAP(简单对象访问协议)客户端和服务器实现,主要用于构建 Web 服务。这个文件是 Axis 1.4 版本的 Java Archive ...
【标题】"Axis2_Codegen_Wizard_1.3.0"是一款专为MyEclipse Web开发设计的Axis插件,其主要功能是自动化生成与Web服务相关的代码,极大地简化了开发过程,提高了开发效率。该插件是基于Apache Axis2框架的,Axis2是...
Axis1_4是早期版本的Axis,尽管现在有更新的版本如Axis2,但在某些场景下,它仍然被广泛使用,特别是在处理旧项目或特定兼容性需求时。它提供了从Java类到SOAP服务的自动绑定,以及从WSDL反向生成Java代码的能力。 ...
Apache Axis2是一个流行的Web服务引擎,用于构建和部署SOAP(简单对象访问协议)和RESTful Web服务。 首先,搭建环境是关键步骤。你需要下载Axis2的二进制包和WAR文件,确保版本是最新的。在本例中,使用的版本是...
vericut training 3_axis_mill_fanuc.mcd vericut training 3_axis_mill_fanuc.mcd
标题 "Axis2_Code_Generator.zip" 暗示了这是一个与Apache Axis2相关的代码生成工具。Apache Axis2是Java环境中广泛使用的Web服务框架,它允许开发者创建、部署和管理Web服务。这个压缩包可能包含了用于自动生成Axis...
在MyEclipse中使用Axis2_Codegen_Wizard_1.2.1插件时,开发者可以通过向导来生成Web服务客户端或服务器端代码,这通常涉及以下步骤: 1. 创建一个新的Web服务项目。 2. 选择要使用的WSDL(Web服务描述语言)文件,...
myeclipse的axis插件,找了很久找到的。1.3.0版的,因为官网上1.6.0版本的在myeclipse中使用起来会有很多问题。 下载下来后直接放到dropins下就可以了,不用修改plugin.xml ...Axis2_Codegen_Wizard_1.3.0