28-Apr megacz Template.java: fixed a bug where <redirect/> would
misbehave if used on a scriptless <template/>
+28-Apr megacz SOAP.java, XMLRPC.java: Base64 elements are now decoded
+ and returned as String's.
+
import java.util.*;
import org.mozilla.javascript.*;
import org.xwt.util.*;
+import org.bouncycastle.util.encoders.Base64;
/**
* A partial RPC-style SOAP 1.1 client. Implemented from the SOAP 1.1
} else if (value.endsWith("string")) {
objects.removeElementAt(objects.size() - 1);
objects.addElement("");
+ } else if (value.endsWith("base64")) {
+ objects.removeElementAt(objects.size() - 1);
+ objects.addElement(new byte[] { });
} else if (value.endsWith("null")) {
objects.removeElementAt(objects.size() - 1);
objects.addElement(null);
objects.removeElementAt(objects.size() - 1);
objects.addElement(new String(content.getBuf(), 0, content.size()).intern());
content.reset();
+
+ } else if (me instanceof byte[]) {
+ objects.removeElementAt(objects.size() - 1);
+ objects.addElement(new String(Base64.decode(new String(content.getBuf(), 0, content.size()))));
+ content.reset();
} else if (me instanceof Integer) {
objects.removeElementAt(objects.size() - 1);
import java.util.*;
import org.mozilla.javascript.*;
import org.xwt.util.*;
+import org.bouncycastle.util.encoders.Base64;
/**
* An XML-RPC client implemented as a Rhino JavaScript Host
objects.setElementAt(new Double(new String(content.getBuf(), 0, content.size())), objects.size() - 1);
else if (name.equals("base64"))
- objects.setElementAt(new String(content.getBuf(), 0, content.size()), objects.size() - 1);
+ objects.setElementAt(new String(Base64.decode(new String(content.getBuf(), 0, content.size()))), objects.size() - 1);
else if (name.equals("name"))
objects.addElement(new String(content.getBuf(), 0, content.size()));