`

axis2使用_传po对象

 
阅读更多

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_Codegen_Wizard_1.3 和 Axis2_Service_Archiver_1.3

    Axis2是Apache软件基金会开发的一个开放源码的Web服务框架,它主要用于构建高效...总的来说,了解并熟练使用Axis2_Codegen_Wizard_1.3和Axis2_Service_Archiver_1.3,是成为一名合格的Axis2 Web服务开发者的关键步骤。

    axis-src-1_4.zip_axis 1 source_axis 1.4_axis src 1_axis-src_axis

    Axis是Apache软件基金会开发的一个SOAP(简单对象访问协议)栈,它允许开发者创建和使用Web服务。在Java编程环境中,Axis提供了用于处理XML数据的强大工具,特别是在构建基于SOAP的服务和客户端时。 描述中提到,这...

    axis-1_4.zip

    标签中的"axis2"虽然与标题中的"axis-1_4"有所区别,但通常可以理解为提及了Axis的另一个版本——Axis2。Axis2是Axis1的升级版,提供了一种全新的架构,增强了性能和可扩展性。不过,在这里,我们主要关注的是Axis...

    axis2 webservice for myeclipse插件Axis2_Service_Archiver_1.3.0

    描述中提到的使用方法非常直观:将解压后的Axis2_Service_Archiver_1.3.0文件夹放到Eclipse的dropins目录下,然后重启MyEclipse。这样做是因为Eclipse和MyEclipse支持自动识别dropins目录下的插件,从而自动安装并...

    Axis2_Codegen_Wizard_1.3.0与Axis2_Service_Archiver_1.3.0与axis2-1.5.4-war

    MyEclipse下开发Web Service(Axis)所需要的插件,加压缩后直接放在eclipse/plugins下。注意版本是1.3.0,之前我用的是1.1.1打包代码是出现了filesets错误,换成...axis2-1.5.4-war解压放在Tomcat WebApp下就可以了。

    axis2_demo实战 复杂对象传输 文件传输

    在`axis2_demo`项目中,我们将看到如何创建和调用Web服务,以实现不同类型的数据传输。在描述中提到的"传List",意味着我们可以传递Java集合,如ArrayList或LinkedList等,作为Web服务的参数。这使得Web服务能够处理...

    axis2 Axis2_Code_Generator Axis2_Service_Archiver

    使用Axis2_Service_Archiver,开发者可以将服务相关的所有组件整合到一个AAR文件中,然后通过 Axis2管理界面或命令行工具进行部署。 在Eclipse集成开发环境中,轴插件(axis eclipse plug-in)为开发者提供了友好的...

    spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s

    标题中的“spring-axis2-test.rar_Axis2 Spring3_axis2_axis2 spring3_axis2 s”指的是一个关于Spring和Axis2集成的示例项目,它包含了一组用于演示如何在Spring框架中使用Apache Axis2来开发和部署Web服务的源代码...

    client_axis.rar_AxisClient_axis client_axis.client_webservice客户端

    在实际应用中,开发人员会使用Axis提供的工具(如`wsdl2java`)将WSDL文件转换为Java源代码,然后在项目中引用这些生成的类来调用Web服务。这些类通常实现了Web服务的所有操作,并处理了与服务之间的通信细节,如...

    Axis2_Codegen_Wizard_1.3.0.zip

    当您生产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文件,具体参照网上(注意版本号...

    axis-1_4.rar

    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-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...

    axis-1_4.jar

    标题 "axis-1_4.jar" 提到的是一个特定版本的 Axis 框架的库文件,Axis 是一个流行的开放源代码 SOAP(简单对象访问协议)客户端和服务器实现,主要用于构建 Web 服务。这个文件是 Axis 1.4 版本的 Java Archive ...

    Axis2_Codegen_Wizard_1.3.0

    【标题】"Axis2_Codegen_Wizard_1.3.0"是一款专为MyEclipse Web开发设计的Axis插件,其主要功能是自动化生成与Web服务相关的代码,极大地简化了开发过程,提高了开发效率。该插件是基于Apache Axis2框架的,Axis2是...

    axis-1_4框架

    Axis1_4是早期版本的Axis,尽管现在有更新的版本如Axis2,但在某些场景下,它仍然被广泛使用,特别是在处理旧项目或特定兼容性需求时。它提供了从Java类到SOAP服务的自动绑定,以及从WSDL反向生成Java代码的能力。 ...

    使用Axis2搭建_WebService

    Apache Axis2是一个流行的Web服务引擎,用于构建和部署SOAP(简单对象访问协议)和RESTful Web服务。 首先,搭建环境是关键步骤。你需要下载Axis2的二进制包和WAR文件,确保版本是最新的。在本例中,使用的版本是...

    3_axis_mill_fanuc.mcd

    vericut training 3_axis_mill_fanuc.mcd vericut training 3_axis_mill_fanuc.mcd

    Axis2_Code_Generator.zip

    标题 "Axis2_Code_Generator.zip" 暗示了这是一个与Apache Axis2相关的代码生成工具。Apache Axis2是Java环境中广泛使用的Web服务框架,它允许开发者创建、部署和管理Web服务。这个压缩包可能包含了用于自动生成Axis...

    axis2 webservice for myeclipse插件Axis2_Codegen_Wizard_1.2.1

    在MyEclipse中使用Axis2_Codegen_Wizard_1.2.1插件时,开发者可以通过向导来生成Web服务客户端或服务器端代码,这通常涉及以下步骤: 1. 创建一个新的Web服务项目。 2. 选择要使用的WSDL(Web服务描述语言)文件,...

    Axis2_Service_Archiver_1.3.0&Axis2_Codegen_Wizard_1.3.0

    myeclipse的axis插件,找了很久找到的。1.3.0版的,因为官网上1.6.0版本的在myeclipse中使用起来会有很多问题。 下载下来后直接放到dropins下就可以了,不用修改plugin.xml ...Axis2_Codegen_Wizard_1.3.0

Global site tag (gtag.js) - Google Analytics