CSDN博客

img winnerbao

WEB SERVICE 复杂数据类型返回 ?

发表于2004/6/25 15:56:00  3177人阅读

 请浏览的大侠给点指点 盒 评论

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选项
 
0 0

相关博文

我的热门文章

img
取 消
img