⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httptransportse.java

📁 it is a tools for developing J2ME application using web service.
💻 JAVA
字号:
package org.ksoap.transport;import java.io.*;import java.net.*;import org.kxml.*;import org.kxml.io.*;import org.kxml.parser.*;import org.ksoap.*;// Donated to the project on 2000-09-13 by Jason Woods/** An optional HTTP transport class for the desktop version of    Java, suitable e.g. for applets. */public class HttpTransportSE {    String url;    String soapAction = "\"\"";    SoapEnvelope requestEnvelope = new SoapEnvelope ();    SoapEnvelope responseEnvelope = new SoapEnvelope ();    public boolean debug;    public String requestDump;    public String responseDump;    public HttpTransportSE () {    }    public HttpTransportSE (String url, String soapAction) {        this.url = url;        this.soapAction = soapAction;    }    public void setUrl (String url) {        this.url = url;    }    public void setSoapAction (String soapAction) {        this.soapAction = soapAction;    }    public void setClassMap (ClassMap classMap) {        requestEnvelope.setClassMap (classMap);        responseEnvelope.setClassMap (classMap);    }    /** Sends the requestEnvelope and fills the        responseEnvelope */    public void call () throws IOException {        ByteArrayOutputStream bos = new ByteArrayOutputStream ();        XmlWriter xw = new XmlWriter (new OutputStreamWriter (bos));        requestEnvelope.write (xw);        xw.flush ();        byte [] requestData = bos.toByteArray ();        bos = null;        xw = null;        requestDump = debug ? new String (requestData) : null;        responseDump = null;        HttpURLConnection connection = (HttpURLConnection) new	    URL(url).openConnection();	connection.setUseCaches(false);        connection.setDoOutput(true);	connection.setDoInput (true);	connection.setRequestProperty ("User-Agent", "kSOAP/0.99 (HttpTransportSE)");        connection.setRequestProperty ("SOAPAction", soapAction);	connection.setRequestProperty ("Content-Type", "text/xml");	connection.setRequestProperty ("Connection", "close");        connection.setRequestProperty            ("Content-Length", ""+requestData.length);        connection.setRequestMethod ("POST");        OutputStream os = connection.getOutputStream();        os.write (requestData, 0, requestData.length);        os.close ();        requestData = null;        InputStream is;	try {	    connection.connect ();	    is = connection.getInputStream();	}	catch (IOException e) {	    is = connection.getErrorStream ();	    if (is == null) {		connection.disconnect ();		throw (e);	    }	}        if (debug) {            bos = new ByteArrayOutputStream ();            byte [] buf = new byte [256];            while (true) {                int rd = is.read (buf, 0, 256);                if (rd == -1) break;                bos.write (buf, 0, rd);            }	    is.close ();            buf = bos.toByteArray ();            responseDump = new String (buf);            is = new ByteArrayInputStream (buf);        }        XmlParser xp = new XmlParser (new InputStreamReader (is));        responseEnvelope.parse (xp);	is.close ();	connection.disconnect ();    }    public Object call (SoapObject method) throws IOException {        requestEnvelope.setBody (method);        call ();        if (responseEnvelope.getBody () instanceof SoapFault)            throw((SoapFault)responseEnvelope.getBody ());        return responseEnvelope.getResult ();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -