`
youanyyou
  • 浏览: 196441 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

web service axis2 参数为对象传递

阅读更多

首先建立ServiceTest.java

Java代码
1.package sample.ws.service; 
2. 
3.import sample.ws.pojo.Person; 
4. 
5.public class ServiceTest { 
6./** 
7. * 很简单我们只是将发过来的person[]返回去 
8. * @param person 
9. * @return 
10. */ 
11.    public Person[] getPerson(Person[] person){ 
12.         
13.//      Person person1 = new Person(); 
14.//      person1.setAge("20"); 
15.//      person1.setName("张三"); 
16.//       
17.//      Person person2 = new Person(); 
18.//      person2.setAge("30"); 
19.//      person2.setName("李四"); 
20.//       
21.//      Person[] person3 = new Person[2]; 
22.//      person3[0] = person1; 
23.//      person3[1] = person2; 
24.//      System.out.println("afd"); 
25.        return person; 
26.    } 
27.         
28.         
29.} 
package sample.ws.service;

import sample.ws.pojo.Person;

public class ServiceTest {
/**
* 很简单我们只是将发过来的person[]返回去
* @param person
* @return
*/
    public Person[] getPerson(Person[] person){
       
//        Person person1 = new Person();
//        person1.setAge("20");
//        person1.setName("张三");
//       
//        Person person2 = new Person();
//        person2.setAge("30");
//        person2.setName("李四");
//       
//        Person[] person3 = new Person[2];
//        person3[0] = person1;
//        person3[1] = person2;
//        System.out.println("afd");
        return person;
    }
      
      
}

pojo Person.java 不变

 


Java代码
1.public class Person{ 
2. 
3.    private String name ; 
4. 
5.    public String getName() { 
6.        return name; 
7.    } 
8. 
9.    public void setName(String name) { 
10.        this.name = name; 
11.    } 
12.     
13.} 
public class Person{

    private String name ;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
   
}

services.xml 也保持不变;


Java代码
1.<?xml version="1.0" encoding="UTF-8"?> 
2. 
3. 
4.<service name="TestService" scope="application"> 
5.        <description>TestService</description> 
6. 
7.    <messageReceivers>     
8.    <messageReceiver     
9.            mep="http://www.w3.org/2004/08/wsdl/in-only"   
10.    class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>     
11.        <messageReceiver     
12.            mep="http://www.w3.org/2004/08/wsdl/in-out"   
13.    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>     
14.    </messageReceivers>   
15.    <parameter name="ServiceClass"> 
16.    sample.ws.service.ServiceTest 
17.    </parameter> 
18.     
19.</service> 
<?xml version="1.0" encoding="UTF-8"?>


<service name="TestService" scope="application">
        <description>TestService</description>

    <messageReceivers> 
    <messageReceiver   
            mep="http://www.w3.org/2004/08/wsdl/in-only
    class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> 
        <messageReceiver 
            mep="http://www.w3.org/2004/08/wsdl/in-out
    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> 
    </messageReceivers> 
    <parameter name="ServiceClass">
    sample.ws.service.ServiceTest
    </parameter>
   
</service>

下面就是客户端了:

1、 pojo Person.java 保持不变


Java代码
1.public class Person{ 
2. 
3.    private String name ; 
4. 
5.    public String getName() { 
6.        return name; 
7.    } 
8. 
9.    public void setName(String name) { 
10.        this.name = name; 
11.    } 
12.     
13.} 
public class Person{

    private String name ;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
   
}

2、请求客户端 Ws2pojoClient.java


Java代码
1.package sample.ws.client; 
2. 
3.import javax.xml.namespace.QName; 
4. 
5.import org.apache.axis2.addressing.EndpointReference; 
6.import org.apache.axis2.client.Options; 
7.import org.apache.axis2.rpc.client.RPCServiceClient; 
8. 
9.import sample.ws.pojo.Person; 
10. 
11.public class Ws2pojoClient { 
12. 
13.    public static void main(String args[]) throws java.lang.Exception { 
14. 
15.        RPCServiceClient client = new RPCServiceClient(); 
16. 
17.        Options option = client.getOptions(); 
18.        // 指定客户端访问的webservice服务器端地址 
19.        EndpointReference erf = new EndpointReference( 
20.                "http://localhost:9999/Ws2Pojo/services/TestService"); 
21. 
22.        option.setTo(erf); 
23.        // 指定命名空间,指定要调用的方法 
24.        QName name = new QName("http://service.ws.sample", "getPerson"); 
25.        // 创建Person对象 
26.        Person person1 = new Person(); 
27.        person1.setAge("20"); 
28.        person1.setName("张三"); 
29. 
30.        Person person2 = new Person(); 
31.        person2.setAge("30"); 
32.        person2.setName("李四"); 
33.        // 创建Person数组 
34.        Person[] person3 = new Person[2]; 
35.        person3[0] = person1; 
36.        person3[1] = person2; 
37. 
38.        // 创建要传送的object数组 
39.        Object[] object = new Object[] { person3 }; 
40.        // 创建返回的参数类型 
41.        Class[] returnTypes = new Class[] { Person[].class }; 
42.        // 调用远程服务,得到返回的object数组 
43.        Object[] response = client.invokeBlocking(name, object, returnTypes); 
44.        // 强制转换成Person[]对象 
45. 
46.        Person[] p = (Person[]) response[0]; 
47.        // 遍历得到我们刚刚请求过去的值 
48.        for (int i = 0; i < p.length; i++) { 
49.            System.out.println(p.getAge()); 
50.            System.out.println(p.getName()); 
51.        } 
52. 
53.    } 
54.} 

深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场 

企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位! 

www.szrcwz.com                                                                                                                                           

                  Google 提供的广告

分享到:
评论

相关推荐

    web service axis 总结文档 相关实例说明

    - 创建服务代理对象并调用服务方法,传递参数。 - 处理返回结果。 5. 示例说明 在压缩包中,"webservice_axis"文件可能包含了创建和调用Web服务的示例代码。这些示例涵盖了服务接口定义、服务实现、服务部署、...

    Web Service Axis完整的实例

    接着,通过 Axis的wsdl2java工具,将WSDL转换为Java代码,这些代码可以部署到Web服务器上,形成实际的服务。 客户端使用Web服务通常涉及以下步骤:获取WSDL文档,使用wsdl2java工具生成客户端 stubs,这些stubs提供...

    Axis2快速构建Web Service ppt

    - **Axis2简介**:Axis2不仅是一个Web Service引擎,也是一个完整的Web服务开发框架。它支持多种消息传递模式和协议,如HTTP、HTTPS、SMTP等。Axis2的模块化设计使得扩展和定制更加便捷。 - **Axis2安装与部署**:...

    用Axis2创建Web Service

    【Apache Axis2 创建 Web Service 知识点详解】 Apache Axis2 是一个强大的 Web Service 框架,由 Apache 软件基金会开发,主要用于构建和部署高性能、高效率的 Web Services。它基于 Java 语言,提供了全面的 Web ...

    WebService大讲堂之Axis2及其它web service资料

    1. **服务端创建**:使用Axis2,开发者可以轻松地将Java类转换为Web Service。通过编写Java代码,定义服务接口,然后使用Axis2工具生成服务部署描述符(WSDL),最后将服务部署到服务器上。 2. **客户端调用**:...

    Axis2创建web service快速入门

    总结来说, Axis2为Web服务开发提供了一套完整的框架,使得创建、部署和调用Web服务变得简单而高效。通过以上步骤,你已经掌握了基本的Axis2 Web服务开发流程,可以进一步探索其高级特性和实际应用。

    helios创建Web Service服务(axis2)

    而Apache Axis2是Apache软件基金会开发的一个Web Service引擎,它是基于SOAP(简单对象访问协议)的消息传递模型,用于处理Web Service的请求和响应。 **创建Web Service服务步骤:** 1. **安装和配置环境**:确保...

    AXIS Web Service入门及应用

    它是Apache软件基金会的项目,主要用于简化SOAP(简单对象访问协议)处理,使得开发人员可以轻松地将Java类转换为Web服务或调用远程Web服务。在本文中,我们将深入探讨AXIS Web Service的安装、入门以及其在实际应用...

    webservice之axis实例,axis复杂对象

    在本实例中,我们将深入探讨使用Apache Axis实现Web服务,特别是处理复杂对象的传递。 Apache Axis是Apache软件基金会开发的一个开源工具,它为Java开发者提供了一个方便的框架来创建和部署Web服务。Axis使得开发、...

    axis2的API,axis2 API,axis2帮助文档

    Axis2是Apache软件基金会开发的一个开源Web服务引擎,它提供了基于SOAP(Simple Object Access Protocol)的Web服务实现。本文将详细介绍Axis2的API及其在Web服务开发中的应用,同时也会探讨Axis2的帮助文档如何协助...

    axis2 axis webservice web 服务

    标题中的“Axis2 Axis WebService Web 服务”指的是Apache Axis2,它是一个强大的Web服务框架,主要用于构建和部署Web服务。Axis2是Apache SOAP(Simple Object Access Protocol)项目的第二代实现,专门设计用于...

    基于Axis2的Web Service 快速开发.ppt

    【基于Axis2的Web Service快速开发】 Web Service是一种在互联网上进行交互的软件技术,它允许不同的系统和服务之间通过标准的协议进行通信。基于Axis2的Web Service开发是利用Apache Axis2这一开源框架来快速构建...

    axis1.4和axis2相关jar文件

    4. **服务组件化**:Axis2引入了Web服务组件(Web Service Components, WSCs),如Service Skeletons和Service Archives,简化了服务开发和部署。 5. **更好的WSDL支持**:Axis2提供了更强大的WSDL处理能力,包括...

    axis2-eclipse-codegen-plugin-1.6.2.zip和axis2-eclipse-service-plugin-1.6.2.zip

    总之,"axis2-eclipse-codegen-plugin-1.6.2.zip"和"axis2-eclipse-service-plugin-1.6.2.zip"是强大的开发工具,它们为使用Apache Axis2开发Web服务的Eclipse用户提供了一个友好的环境,使得Web服务的生命周期管理...

    Web Services & Axis2.zip(2011年度巨献)

    1. **axis2客户端数据传送方式.doc** - 这可能涵盖了如何使用Axis2创建和配置Web服务客户端,以及如何传递不同类型的数据,包括基本类型、复杂对象或文件。 2. **专题:SOA_—_面向服务的体系结构.doc** - SOA是一...

    web和axis2整合文档

    3. **发布Web服务**:通过 Axis2 的工具或代码将接口和实现类打包成服务,生成WSDL(Web Service Description Language)文件。WSDL描述了服务的接口、操作、绑定和地址,使得客户端能够找到并调用服务。 **...

    AXIS2生成客户端代码教程.zip

    AXIS2是一个流行的开源Web服务框架,用于创建和部署SOAP(简单对象访问协议)服务以及生成客户端代码。在本文中,我们将深入探讨如何利用AXIS2在MyEclipse环境中生成客户端代码,以便与Web服务进行交互。这个过程...

    MyEclipse下开发Web Service(Axis)

    ### 使用MyEclipse与Axis开发Web Service #### 一、前言 随着互联网技术的发展,Web Service作为一种重要的网络服务形式,被广泛应用于不同系统之间的数据交互和服务共享。Apache Axis是Apache组织提供的一款开源...

Global site tag (gtag.js) - Google Analytics