You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2003/11/23 04:08:06 UTC
cvs commit: ws-axis/java/src/org/apache/axis/message MimeHeaders.java
dims 2003/11/22 19:08:06
Modified: java/src/org/apache/axis/message MimeHeaders.java
Log:
Hopefully final Fix for Bug 22977 - org.apache.axis.Message cannot be serialized
Revision Changes Path
1.2 +15 -4 ws-axis/java/src/org/apache/axis/message/MimeHeaders.java
Index: MimeHeaders.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/message/MimeHeaders.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MimeHeaders.java 26 Sep 2003 18:16:21 -0000 1.1
+++ MimeHeaders.java 23 Nov 2003 03:08:06 -0000 1.2
@@ -72,7 +72,8 @@
public MimeHeaders(javax.xml.soap.MimeHeaders h) {
Iterator iterator = h.getAllHeaders();
while (iterator.hasNext()) {
- headers.add(iterator.next());
+ MimeHeader hdr = (MimeHeader) iterator.next();
+ addHeader(hdr.getName(), hdr.getValue());
}
}
@@ -81,17 +82,27 @@
for (int i = 0; i < size; i++) {
Object key = in.readObject();
Object value = in.readObject();
- headers.add(new MimeHeader((String) key, (String)value));
+ addHeader((String)key, (String)value);
}
}
public void writeExternal(ObjectOutput out) throws IOException {
- out.writeInt(headers.size());
- Iterator iterator = headers.iterator();
+ out.writeInt(getHeaderSize());
+ Iterator iterator = getAllHeaders();
while (iterator.hasNext()) {
MimeHeader hdr = (MimeHeader) iterator.next();
out.writeObject(hdr.getName());
out.writeObject(hdr.getValue());
}
+ }
+
+ private int getHeaderSize() {
+ int size = 0;
+ Iterator iterator = getAllHeaders();
+ while (iterator.hasNext()) {
+ iterator.next();
+ size++;
+ }
+ return size;
}
}