如何使用Axis处理复杂类型参数和返回值

本文介绍了在使用Axis构建Web服务时如何处理复杂类型的参数和返回值。通过创建符合JavaBean规范的对象,简化接口设计。文章通过示例展示了Axis如何自动生成相关Java文件,并解释了WSDL文件中关于复杂类型的变化。最后,提供了测试客户端的示例代码,展示如何调用此类服务。
摘要由CSDN通过智能技术生成

1.       如何监测SOAP请求和响应流

之前我们做的演示程序都很简单,方法的参数和返回值都是简单类型的数据,但是在实际

应用过程中往往没有这么简单.在使用面向对象的编程语言时,我们会希望数据类型可是

某个对象,比如我们提供一个接口用来查询城市信息,那么我们希望接口的参数是一个城

市信息对象,这个信息对象封装了一条城市信息的所需要的查询内容包括名称,地区

邮编,区号,人口。面积信息内容等等,如果我们把每个内容都做成一个参数,那这个接口的参数可能会非常的多。因此封装成对象是很有必要的。

在使用Axis来编写Web服务时对复杂类型数据的处理同样也是非常简单。Axis要求复

杂类型对象的编写必须符合JavaBean的规范,简单的说就是对象的属性是通过

getter/setter方法来访问的。来看看下面这个简单的例子所输出的WSDL信息有何特殊的

地方。(我们为了方便使用JbuilderX来快速的开发)准备以下文件.

CityInfo.java

package com.yang;

 

public class CityInfo {

 

  //地区城市名称

  private String cityName;

  //区号

  private String zone;

  //邮编

  private String post;

  // 行政区

  private String district;

  //人口

  private String populace;

  //面积

  private String area;

 

  public String getArea() {

    return area;

  }

 

  public String getPopulace() {

    return populace;

  }

 

  public String getDistrict() {

    return district;

  }

 

  public String getPost() {

    return post;

  }

 

  public String getZone() {

    return zone;

  }

 

  public void setCityName(String cityName) {

    this.cityName = cityName;

  }

 

  public void setArea(String area) {

    this.area = area;

  }

 

  public void setPopulace(String populace) {

    this.populace = populace;

  }

 

  public void setDistrict(String district) {

    this.district = district;

  }

 

  public void setPost(String post) {

    this.post = post;

  }

 

  public void setZone(String zone) {

    this.zone = zone;

  }

 

  public String getCityName() {

    return cityName;

  }

}

DisposeQueryCity.java

package com.yang;

 

public class DisposeQueryCity {

 

  private String mess = null;

  private CityInfo cityInfo = null;

 

  public void setCityInfo(CityInfo cityInfo) {

    this.cityInfo = cityInfo;

  }

 

  public void setMess(String mess) {

    this.mess = mess;

  }

 

  public CityInfo getCityInfo() {

    return cityInfo;

  }

 

  public String getMess() {

    return mess;

  }

 

}

QueryCity.java

package com.yang;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值