继续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服务提供了一种高效且灵活的方式。在...
在本文中,我们将探索Axis的高级编程技巧,涵盖如何发布Web服务、使用Handler增强功能、建立安全服务、处理JavaBean传递及监控SOAP消息等方面。 1. **AXIS第一课:最简单的发布AXIS的Web Service** 在这一课中,...
在处理复合类型数据传递时,Axis2同样提供了强大的支持。可以通过服务端代码实现服务逻辑,并定义一个DataForm类来表示传输的数据结构。然后通过发布WebService,并使用Java或C#编写相应的客户端代码调用此...
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...