我正在尝试将(自定义的)Message对象发送到(java)webservice。这个(可序列化的)Message对象有几个属性,其中一些属性不会到达另一端。 接收字符串和整数很好,但其他属性(如自定义对象)将被视为空。
例如,我有一个对象DBOBjectWrapper
,它包含几个整数,字符串和一个DBObject
。整个DBObjectWrapper
类是可序列化的。使用此类对象作为属性撰写邮件并将其发送到Web服务时,DBObjectWrapper
属性将作为null
收到。
我没有丝毫不知道哪里出了问题......
编辑:消息类代码:
public class Message implements Serializable {
public static final int HEARTBEAT = 0;
public static final int DATA = 1;
public static final int USERINPUT = 2;
private static final long serialVersionUID = 4424864883768231974L;
private long DSId;
private int messageType;
private String sender;
private String receiver;
private DBObjectWrapper doc;
private String alert;
private ArrayList<Float> longitudes;
private ArrayList<Float> latitudes;
private ArrayList<Driver> drivers;
private ArrayList<Vehicle> vehicles;
private ArrayList<DBObjectWrapper> data;
private double total_km;
private double total_fuel_consumption;
private Date interval_start;
private Date interval_end;
private Password password;
private String username;
private Company
public Message(){}
//..some getters and setters..
}
DBObjectWrapper代码:
public final class DBObjectWrapper implements Serializable {
private static final long serialVersionUID = -1808207325031069388L;
private BasicDBObject doc;
private String nosqlDBObjectId = null;
private String carId = null;
private long time = (int) 0;
private float GPS_longitude = (float) 0;
private float GPS_latitude = (float) 0;
private int Gyr_X_Peak = (int) 0;
private float Gyr_X_Avg = (float) 0;
private int Gyr_Y_Peak = (int) 0;
private float Gyr_Y_Avg = (float) 0;
private int Gyr_Z_Peak = (int) 0;
private float Gyr_Z_Avg = (float) 0;
private int CAN_speed = (int) 0;
private int CAN_Rpm = (int) 0;
private int Throttle_Position_Pct = (int) 0;
public DBObjectWrapper() {
doc = new BasicDBObject();
}
//..some more constructors and getters/setters
}
提前致谢!