X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FSOAP.java;h=5e6d46302f8395537fb0b59a12473385275379ff;hb=e1bf2123524ba1cc258188314733f62c2bf45c00;hp=a36e9a986538153d5a1f1a93d50008d4253fae48;hpb=1296555e827bcd7606b7d82b6c1f2a875ff22e2c;p=org.ibex.core.git diff --git a/src/org/xwt/SOAP.java b/src/org/xwt/SOAP.java index a36e9a9..5e6d463 100644 --- a/src/org/xwt/SOAP.java +++ b/src/org/xwt/SOAP.java @@ -1,10 +1,11 @@ -// Copyright 2002 Adam Megacz, see the COPYING file for licensing [GPL] +// FIXME +// Copyright 2003 Adam Megacz, see the COPYING file for licensing [GPL] package org.xwt; import java.io.*; import java.net.*; import java.util.*; -import org.mozilla.javascript.*; +import org.xwt.js.*; import org.xwt.util.*; import org.bouncycastle.util.encoders.Base64; @@ -19,17 +20,17 @@ import org.bouncycastle.util.encoders.Base64; *
sb
*/
- void appendObject(String name, Object o, StringBuffer sb) throws JavaScriptException {
+ /&* Appends the SOAP representation of o
to sb
&/
+ void appendObject(String name, Object o, StringBuffer sb) throws JSExn {
if (o instanceof Number) {
if ((double)((Number)o).intValue() == ((Number)o).doubleValue()) {
sb.append(" <" + name + " xsi:type=\"xsd:int\">");
sb.append(((Number)o).intValue());
- sb.append("" + name + ">\n");
+ sb.append("" + name + ">\r\n");
} else {
sb.append(" <" + name + " xsi:type=\"xsd:double\">");
sb.append(o);
- sb.append("" + name + ">\n");
+ sb.append("" + name + ">\r\n");
}
} else if (o instanceof Boolean) {
sb.append(" <" + name + " xsi:type=\"xsd:boolean\">");
sb.append(((Boolean)o).booleanValue() ? "true" : "false");
- sb.append("" + name + ">\n");
+ sb.append("" + name + ">\r\n");
- } else if (o instanceof ByteStream) {
+ } else if (o instanceof Res) {
try {
- sb.append(" <" + name + " xsi:type=\"SOAP-ENC:base64\">\n");
- InputStream is = ((ByteStream)o).getInputStream();
+ sb.append(" <" + name + " xsi:type=\"SOAP-ENC:base64\">\r\n");
+ InputStream is = ((Res)o).getInputStream();
byte[] buf = new byte[54];
while(true) {
int numread = is.read(buf, 0, 54);
@@ -192,14 +197,14 @@ class SOAP extends XMLRPC {
}
sb.append(" ");
sb.append(new String(Base64.encode(writebuf)));
- sb.append("\n");
+ sb.append("\r\n");
}
sb.append(((Boolean)o).booleanValue() ? "1" : "0");
- sb.append("" + name + ">\n");
+ sb.append("" + name + ">\r\n");
} catch (IOException e) {
if (Log.on) Log.log(this, "caught IOException while attempting to send a ByteStream via SOAP");
if (Log.on) Log.log(this, e);
- throw new JavaScriptException("caught IOException while attempting to send a ByteStream via SOAP");
+ throw new JSExn("caught IOException while attempting to send a ByteStream via SOAP");
}
} else if (o instanceof String) {
@@ -219,53 +224,58 @@ class SOAP extends XMLRPC {
i = oldi = i + 1;
}
}
- sb.append("" + name + ">\n");
+ sb.append("" + name + ">\r\n");
- } else if (o instanceof NativeArray) {
- NativeArray na = (NativeArray)o;
- sb.append(" <" + name + " SOAP-ENC:arrayType=\"xsd:ur-type[" + na.jsGet_length() + "]\">");
- for(int i=0; i