`
yehao0716
  • 浏览: 22826 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

webServices学习之二——axis1传递复杂类型javabean

    博客分类:
  • j2ee
阅读更多

            继续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

    【Axis2学习教程-全面学习AXIS】是一个针对Java开发者的教程,专注于教授如何使用Axis2这一流行的WebService引擎。Axis2是Apache软件基金会开发的Web服务框架,它为创建和部署Web服务提供了一种高效且灵活的方式。在...

    Axis2教程 包含描述目录的内容

    2. **复合类型数据的传递**:Axis2支持复杂类型的参数和返回值,这意味着你可以传递包含多个属性或嵌套对象的数据结构,这对于处理复杂的业务逻辑和数据交换非常有用。 3. **使用services.xml文件发布WebService**...

    WebService大讲堂之Axis2

    ### WebService大讲堂之Axis2 —— 详解与实践 #### 一、Axis2简介与下载安装 Axis2是一款高性能、轻量级且功能强大的Web服务引擎,它基于Apache项目,是Axis1.x的完全重写版本。Axis2不仅支持SOAP 1.1和SOAP 1.2...

    Webservice之Axis高级编程

    在本文中,我们将探索Axis的高级编程技巧,涵盖如何发布Web服务、使用Handler增强功能、建立安全服务、处理JavaBean传递及监控SOAP消息等方面。 1. **AXIS第一课:最简单的发布AXIS的Web Service** 在这一课中,...

    WebService大讲堂之Axis2,多个实例

    在处理复合类型数据传递时,Axis2同样提供了强大的支持。可以通过服务端代码实现服务逻辑,并定义一个DataForm类来表示传输的数据结构。然后通过发布WebService,并使用Java或C#编写相应的客户端代码调用此...

    关于Axis2的完美教程

    - **复杂类型传输**:Axis2 支持传递复杂的数据结构,包括自定义对象和数组,使得数据交互更为灵活。 - **WebService 会话管理**:通过实现会话跟踪,Axis2 可以在多个请求之间保持状态,这对于需要用户上下文的应用...

    axis2 教程_个人备用文档

    本教程面向初学者,旨在详细介绍Axis2的核心功能和应用场景,包括使用POJO实现无配置的Web服务、处理复合类型数据、通过services.xml文件发布Web服务、二进制文件传输、会话管理以及跨服务会话管理等。 1. **用POJO...

    axis2教程 axis2应用方法

    - **复合类型数据的传递**:支持复杂的数据结构,如自定义对象、数组等的传递,便于构建更为丰富的服务接口。 - **使用services.xml文件发布WebService**:通过编写特定格式的XML文件来配置服务的发布细节,这种方式...

    Axis webService 教程.pdf

    ### Axis WebService 教程知识点总结 #### 一、如何发布自己的WebService ##### 1.1 即时发布 JWS (Java Web ...通过这些知识点的学习,开发者可以更好地理解和应用Apache Axis框架,提高Web服务的开发效率和质量。

    axis2经典讲解

    - **需求背景**:实际开发中,经常需要传递复杂的Java对象(如JavaBean)到WebService中。 - **解决方案**:利用JAXB(Java Architecture for XML Binding)技术自动处理对象到XML的转换,实现复合类型数据的有效...

    webservice-axis2

    - **复合类型数据的传递**:WebService不仅可以传递简单的字符串或数值类型,还可以传递复杂的对象结构,如JavaBean等。 - **使用services.xml文件发布WebService**:除了0配置的方式外,还可以通过services.xml文件...

    axis2建webservice文档

    2. **复合类型数据的传递**:在“WebService大讲堂之Axis2(2):复合类型数据的传递.doc”中,可能详细解释了如何处理复杂的数据结构,如自定义对象或数组,以及如何在Web服务请求和响应中传递这些数据。...

    Axis2实用教程(入门教程包含实例)

    2. **复合类型数据的传递**: Axis2支持复杂的数据类型传输,如自定义对象,这在处理业务逻辑时非常有用。 3. **services.xml文件发布WebService**: 通过services.xml文件,可以方便地管理和配置服务,包括服务的...

    Axis2.X教程

    【Axis2.X教程】 Axis2 是 Apache 软件基金会开发的一个开源 Web Service 框架,用于构建和部署 SOAP 和 RESTful 服务。...学习和实践 Axis2 的各种特性,将有助于提升 Web Service 开发的专业技能。

    WebService Axis初学者

    Axis支持JAX-RPC(Java API for XML-RPC)和JAX-WS(Java API for XML Web Services)规范。 3. 安装Axis: 首先,你需要从Apache官方网站下载Axis的最新版本,然后解压缩到本地目录。接下来,配置环境变量,将...

    axis2教程word文件

    Axis2允许在WebService中传输复杂的Java数据类型,如自定义对象、集合、映射等。这一特性对于处理复杂的业务逻辑至关重要,因为它允许在服务端和客户端之间透明地传递丰富的数据结构。 ##### 3. **使用services.xml...

Global site tag (gtag.js) - Google Analytics