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;
|