X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FSOAP.java;h=d993fe83b15597eec7273cab8244f7d91d3ada38;hb=7d0e914f5223cef3e37b98518ace2520d5210422;hp=e0558094d90d961f07627a40c05aea18eafe8142;hpb=b384b3eea72d78edabce1ade19523c712d7fc49b;p=org.ibex.core.git diff --git a/src/org/xwt/SOAP.java b/src/org/xwt/SOAP.java index e055809..d993fe8 100644 --- a/src/org/xwt/SOAP.java +++ b/src/org/xwt/SOAP.java @@ -6,6 +6,7 @@ import java.net.*; 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 @@ -59,6 +60,9 @@ class SOAP extends XMLRPC { } 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); @@ -84,6 +88,11 @@ class SOAP extends XMLRPC { 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);