X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FSOAP.java;h=35ecd504ae4dd2aee6df5b2c5e8377bd5def3090;hb=36c7cba0672b0b0ac61f484a918a34969100ca92;hp=d993fe83b15597eec7273cab8244f7d91d3ada38;hpb=bcc8b1b4cf4e4801d218151e6a7f9961972d91c1;p=org.ibex.core.git diff --git a/src/org/xwt/SOAP.java b/src/org/xwt/SOAP.java index d993fe8..35ecd50 100644 --- a/src/org/xwt/SOAP.java +++ b/src/org/xwt/SOAP.java @@ -212,8 +212,7 @@ class SOAP extends XMLRPC { } } - protected Object send(Object[] args, BufferedReader br, PrintWriter ps) throws IOException, JavaScriptException { - + protected String send(Object[] args, HTTP http) throws JavaScriptException { // build up the request StringBuffer content = new StringBuffer(); content.append("\n"); @@ -233,37 +232,12 @@ class SOAP extends XMLRPC { appendObject(o[i].toString(), ((Scriptable)args[0]).get(o[i].toString(), (Scriptable)args[0]), content); } content.append(" "); - - // send it - ps.print("POST " + filename + " HTTP/1.0\r\n"); - ps.print("Host: " + host + "\r\n"); - ps.print("User-Agent: XWT (http://www.xwt.org/)\r\n"); - ps.print("Content-Type: text/xml; charset=\"us-ascii\"\r\n"); - ps.print("Content-length: " + (content.length() + 1) + "\r\n"); - ps.print("SOAPAction: " + (action == null ? filename : action) + "\r\n"); - ps.print("\r\n"); - ps.print(content); - ps.print("\n"); - ps.flush(); - - // throw away HTTP reply headers - while(!br.readLine().equals("")) { } - - // parse XML reply - try { - parse(br); - } catch (XML.SAXException e) { - if (Log.on) Log.log(this, "reply from server was not well-formed XML: " + e); - throw new JavaScriptException("reply from server was not well-formed XML: " + e); - } - - if (fault) throw new JavaScriptException((Scriptable)objects.elementAt(0)); - if (objects.size() == 0) return null; - return objects.elementAt(0); + http.addHeader("SOAPAction", action); + return content.toString(); } - SOAP(String urlstr, String methodname, String action, String nameSpace) { - super(urlstr, methodname); + SOAP(String url, String methodname, String action, String nameSpace) { + super(url, methodname); this.action = action; this.nameSpace = nameSpace; }