继续axis1的实现,传递复杂类型javabean:
一、服务端:
服务端需要在server-config.wsdd文件中要发布的service 中加入 beanMapping 指定要 传递JavaBean的类型,
见红色部分:
<service name="MyServices" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="haohao.MyServices"/>
<beanMapping languageSpecificType="java:haohao.User"
qname="ns:User" xmlns:ns="urn:User"/>
</service>
发布成功后的wsdl文件,有对JavaBean类型的描述:
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:User">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="User">
<sequence>
<element name="id" nillable="true" type="xsd:long"/>
<element name="pwd" nillable="true" type="xsd:string"/>
<element name="username" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
二、客户端调用:
private static String nameSpaceUri = "http://localhost:8080/axisTest/services/MyServices";
Service service = new Service();
Call call = (Call) service.createCall();
QName qn = new QName("urn:BeanService","SimpleObject");
call.registerTypeMapping(User.class, qn,
new BeanSerializerFactory(User.class, qn),
new BeanDeserializerFactory(User.class, qn));
call.setTargetEndpointAddress(new java.net.URL(serviceUrl));
call.setOperationName(new QName(nameSpaceUri, "sayHello"));
str = (String) call.invoke(new Object [] {createMorkUser()});
分享到:
相关推荐
【Axis2学习教程-全面学习AXIS】是一个针对Java开发者的教程,专注于教授如何使用Axis2这一流行的WebService引擎。Axis2是Apache软件基金会开发的Web服务框架,它为创建和部署Web服务提供了一种高效且灵活的方式。在...
2. **复合类型数据的传递**:Axis2支持复杂类型的参数和返回值,这意味着你可以传递包含多个属性或嵌套对象的数据结构,这对于处理复杂的业务逻辑和数据交换非常有用。 3. **使用services.xml文件发布WebService**...
### WebService大讲堂之Axis2 —— 详解与实践 #### 一、Axis2简介与下载安装 Axis2是一款高性能、轻量级且功能强大的Web服务引擎,它基于Apache项目,是Axis1.x的完全重写版本。Axis2不仅支持SOAP 1.1和SOAP 1.2...
在本文中,我们将探索Axis的高级编程技巧,涵盖如何发布Web服务、使用Handler增强功能、建立安全服务、处理JavaBean传递及监控SOAP消息等方面。 1. **AXIS第一课:最简单的发布AXIS的Web Service** 在这一课中,...
在处理复合类型数据传递时,Axis2同样提供了强大的支持。可以通过服务端代码实现服务逻辑,并定义一个DataForm类来表示传输的数据结构。然后通过发布WebService,并使用Java或C#编写相应的客户端代码调用此...
- **复杂类型传输**:Axis2 支持传递复杂的数据结构,包括自定义对象和数组,使得数据交互更为灵活。 - **WebService 会话管理**:通过实现会话跟踪,Axis2 可以在多个请求之间保持状态,这对于需要用户上下文的应用...
本教程面向初学者,旨在详细介绍Axis2的核心功能和应用场景,包括使用POJO实现无配置的Web服务、处理复合类型数据、通过services.xml文件发布Web服务、二进制文件传输、会话管理以及跨服务会话管理等。 1. **用POJO...
- **复合类型数据的传递**:支持复杂的数据结构,如自定义对象、数组等的传递,便于构建更为丰富的服务接口。 - **使用services.xml文件发布WebService**:通过编写特定格式的XML文件来配置服务的发布细节,这种方式...
### Axis WebService 教程知识点总结 #### 一、如何发布自己的WebService ##### 1.1 即时发布 JWS (Java Web ...通过这些知识点的学习,开发者可以更好地理解和应用Apache Axis框架,提高Web服务的开发效率和质量。
- **需求背景**:实际开发中,经常需要传递复杂的Java对象(如JavaBean)到WebService中。 - **解决方案**:利用JAXB(Java Architecture for XML Binding)技术自动处理对象到XML的转换,实现复合类型数据的有效...
- **复合类型数据的传递**:WebService不仅可以传递简单的字符串或数值类型,还可以传递复杂的对象结构,如JavaBean等。 - **使用services.xml文件发布WebService**:除了0配置的方式外,还可以通过services.xml文件...
2. **复合类型数据的传递**:在“WebService大讲堂之Axis2(2):复合类型数据的传递.doc”中,可能详细解释了如何处理复杂的数据结构,如自定义对象或数组,以及如何在Web服务请求和响应中传递这些数据。...
2. **复合类型数据的传递**: Axis2支持复杂的数据类型传输,如自定义对象,这在处理业务逻辑时非常有用。 3. **services.xml文件发布WebService**: 通过services.xml文件,可以方便地管理和配置服务,包括服务的...
【Axis2.X教程】 Axis2 是 Apache 软件基金会开发的一个开源 Web Service 框架,用于构建和部署 SOAP 和 RESTful 服务。...学习和实践 Axis2 的各种特性,将有助于提升 Web Service 开发的专业技能。
Axis支持JAX-RPC(Java API for XML-RPC)和JAX-WS(Java API for XML Web Services)规范。 3. 安装Axis: 首先,你需要从Apache官方网站下载Axis的最新版本,然后解压缩到本地目录。接下来,配置环境变量,将...
Axis2允许在WebService中传输复杂的Java数据类型,如自定义对象、集合、映射等。这一特性对于处理复杂的业务逻辑至关重要,因为它允许在服务端和客户端之间透明地传递丰富的数据结构。 ##### 3. **使用services.xml...