WEB SERVICE 复杂数据类型返回 ?

原创 2004年06月25日 15:56:00
 请浏览的大侠给点指点 盒 评论

server端复杂数据类型的返回问题
  • web service的数据类型返回情况,如果是简单数据类型,则比较简单,不用作什么转换之类的
  • 但是如果是复杂数据类型,就比较麻烦
     复杂类型1 : JAVABEANS类型,此类型,一般都可以自动的
     复杂类型2 : 特定schema类型,此类型,不太好办。
 
本文章要讨论的就是复杂类型2
下面有一个复杂类型的例子,参:  Web Service Case Study:软件反馈跟踪平台           
 
例如,要返回的数据类型如下
<save_feedback>
  <authInfo>……</authInfo>
  <feedback feedbackKey="…" parentCategoryKey="…" type="…"> *
    <name>……</name>
    <description>……</description>
    <dataBag templateKey="……">
      <field name="[fieldname]">……</field> *
    </dataBag>
  </feedback>
</save_category>
对应SCHEMA如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="save_feedback" type="save_feedback">
    <xs:annotation>
      <xs:documentation>save_feedback API Schema Definition</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="save_feedback">
    <xs:sequence>
      <xs:element name="authInfo" type="xs:base64Binary"/>
      <xs:element name="feedback" type="feedbackType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="feedbackType">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="description" type="xs:string"/>
      <xs:element name="databag" type="dataBagType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dataBagType">
    <xs:sequence>
      <xs:element name="field" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
这样的数据类型,怎样作为web service的参数返回呢?
或者怎样能作为web service请求的参数呢
 
 
 使用WASP进行web service开发的话
  1. 使用jaxb,对schema获得java类。
  2. 建立一个类,使用它的方法来对外发布web 服务。
  3. 这个类的某一个方法,返回上面schema获得java类的类型
  4. 现在只要对这个类发布就行了,生成wsdl等,都完事了。比较方便哦
  5. 不幸的消息是,我是用上面1-4的方法进行试验,失败!!!!!!
 
 
使用wasp还可以通过wsdl方便的返回client代码。即使不使用wasp进行
web service server端的开发。也可以使用它进行client端开发。
有一个generate web service client from wsdl的new选项
 

js中简单和复杂数据类型存储和传递问题

简单和复杂数据类型存储和传递: var num1 = 0; var num2 = num1; num1 = 1; //请问num...
  • Evan_QB
  • Evan_QB
  • 2017年06月23日 00:13
  • 868

JS基本数据类型和复杂类型的区别

1.在内存中的存储方式 基本数据类型把数据名和值直接存储在栈当中 复杂数据类型在栈中存储数据名和一个堆的地址,在堆中存储属性及值。访问时先从栈获取地址,再到堆中拿出相应的值。 2.不同数据类型作为参数...
  • wuqiongqiong_
  • wuqiongqiong_
  • 2017年04月22日 17:48
  • 1057

ibatis 复杂类型属性(自定义类型的属性)

工作需要,看了很多资料,网上大都都是你抄我我抄你,一个bug改了N次都不成功,最后终于运行出来了一个,现在做一下总结 首先,我的两个表tablea和tablebtablea: String id;  ...
  • luckygll
  • luckygll
  • 2011年06月21日 14:04
  • 1813

简单数据类型和复杂数据类型值传递

1.简单数据类型 简单数据类型是通过值传递,不能被其他方法改变, 举例 public class Test8 { public static void main(String[] args)...
  • u010127154
  • u010127154
  • 2016年09月11日 17:40
  • 399

c语言复杂数据类型

// // main.c // c结构体 // // Created by stevenchang on 9/4/15. // Copyright (c) 2015 cz. All right...
  • CHANGXIAOTING
  • CHANGXIAOTING
  • 2015年09月05日 11:04
  • 1200

webservice返回json数据

webservice返回json数据 - (IBAction)webServicexRequestPost:(UIButton *)sender{ //构建webservice请求字符串 NSL...
  • wwwang89123
  • wwwang89123
  • 2013年03月28日 23:03
  • 1480

web service 返回Po问题

 在现在应用中很多都会以web service发布服务,最近在用xfire,hiession 发布web service时,当返回值是持久层Po时(如hibernate)会有一些对象序列它的问题,因为...
  • super1900
  • super1900
  • 2008年09月27日 02:49
  • 379

android 远程服务传递自定义数据类型

在Android系统中,进程间传递的数据包括Java语言支持的基本数据类型和用户自定义的数据类型,为了使数据能够穿越进程边界,所有数据都必须是“可打包”。对于Java语言的基本数据类型,打包过程是自动...
  • yhaolpz
  • yhaolpz
  • 2016年05月07日 20:52
  • 2412

Java的复杂数据类型

 索引同简单数据类型的定义一样,Java虚拟机(JVM)还定义了索引(reference)这种数据类型。索引类型可以“引用”变量,由于Java没有明确地定义指针类型,所以索引类型可以被认为就是指向实际...
  • lcj8
  • lcj8
  • 2008年12月12日 00:11
  • 628

传递复杂数据类型的远程Service

远程服务往往不只是传递java基本数据类型。这时需要注意android的一些限制和规定: android支持String和CharSequence直接跨进程传送如果需要在aidl中使用其他aid...
  • guangwen_lv
  • guangwen_lv
  • 2014年09月16日 20:04
  • 283
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WEB SERVICE 复杂数据类型返回 ?
举报原因:
原因补充:

(最多只允许输入30个字)