`
yehao0716
  • 浏览: 22580 次
  • 性别: 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服务提供了一种高效且灵活的方式。在...

    Webservice之Axis高级编程

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

    axis2建webservice文档

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

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

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

    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