+ msgLen);
}
}
data = new byte[msgLen];
data = InputStreamToByte(request.getInputStream());
}
// ByteBuffer buff = ByteBuffer.wrap(data);
return data;
}
private byte[] InputStreamToByte(InputStream iStrm) throws IOException {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = iStrm.read()) != -1) {
bytestream.write(ch);
}
byte imgdata[] = bytestream.toByteArray();
bytestream.close();
return imgdata;
}
@SuppressWarnings("unchecked")
public void request() {
if (!preCheck()) {
writeLog.write("dispatch_", "dispatch check error.");
return;
}
InputStream in = null;
OutputStream out = null;
try {
in = request.getInputStream();
out = response.getOutputStream();
byte[] data = receiveData();
writeLog.write("dispatch_", "dispatch datas [ " + data.toString()
+ " ]");
returnData = (Map
targetAddr, data, request.getMethod(), timelimit);
setResponseHeader();
String err = (String) returnData.get("ERR_CD");
if (!"0000".equalsIgnoreCase(err)) {
response.sendError(500);
return;
}
// 返回处理结果 www.2cto.com
out.write((byte[]) returnData.get(VnHttpConnector.RET_MESSAGE));
out.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != in) {
try {
} catch (Exception e) {
}
}
if (null != out) {
try {
out.close();
} catch (Exception e) {
}
}
}
return;
}
private void setResponseHeader() {
if (null != returnData) {
returnData.put("ERR_CD", "0004");
return;
}
// 设置header
Map< , > resHeaders = (Map< , >) returnData
.get(VnHttpConnector.RET_HEAD);
if (null != resHeaders) {
// RESPONSE HEADER
Iterator< > i = resHeaders.keySet().iterator();
String key = null;
String value = null;
while (i.hasNext()) {
key = (String) i.next();
value = (String) resHeaders.get(key);
response.setHeader(key, value);
}
}
// 设置状态
response.setStatus((Integer) returnData.get(VnHttpConnector.RET_STATUS));
}
}
2 转发实施类
[html]
package com.vness.httpforward.connector;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.sf.json.JSONObject;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.ap