import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import org.junit.Test;
public class CommonTest {
@Test
public void test() throws Exception {
String url = "http://localhost:9006/packagetourorder/getorder";
// String content = "?PackageTourOrderXml=" + URLEncoder.encode("aa", "UTF-8");
// content +="&Sign="+URLEncoder.encode("bb", "UTF-8");
// url+=content;
HttpURLConnection conn = null;
// OutputStream out = null;
String outxml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
try {
conn = getConnection(url, "POST");
// out = conn.getOutputStream();
DataOutputStream out = new DataOutputStream(conn
.getOutputStream());
// out.write(outxml.getBytes());
String localSign = EncryptionUtils.MD5(outxml+Constant.AUTHKEY);
String content = "PackageTourOrderXml=" + URLEncoder.encode(outxml, "UTF-8");
content +="&Sign="+URLEncoder.encode(localSign, "UTF-8");
// String content = "PackageTourOrderXml=" + URLEncoder.encode("AA", "UTF-8");
// content +="&Sign="+URLEncoder.encode("BB", "UTF-8");
out.writeBytes(content);
System.out.println("print post request:" + new String(outxml.getBytes("UTF-8")));
out.flush();
System.out.print("print post add response:");
// InputStream is;
// if (conn.getResponseCode() >= 400) {
// is = conn.getInputStream();
// } else {
// is = conn.getErrorStream();
// }
// System.out.println(is);
getResponseFromInputStream(conn.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
private HttpURLConnection getConnection(String urlString, String verb) {
HttpURLConnection conn = null;
try {
URL url = new URL(urlString);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod(verb);
conn.setDoInput(true);
conn.setDoOutput(true);
// conn.setUseCaches(false);
// conn.setInstanceFollowRedirects(true);
// conn.addRequestProperty("Content-type", "text/xml; charset=UTF-8");
conn.setRequestProperty ("Content-type", "application/x-www-form-urlencoded");
// conn.addRequestProperty("Accept-Charset", "utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
private void getResponseFromInputStream(InputStream is) {
String resp = "";
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));
String next = null;
while ((next = reader.readLine()) != null) {
resp += next;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("the response is:" + resp);
}
public static void main(String[] args) throws Exception {
new CommonTest().test();
}
}
client:
@Controller
@RequestMapping("/packagetourorder")
public class PackageTourOrderController extends APIController {
@RequestMapping(value = "/getorder", method = {RequestMethod.POST, RequestMethod.GET}, produces = "application/xml")
public @ResponseBody
BaseReturn getOrder(@RequestParam("PackageTourOrderXml")
String tourOrderXML, @RequestParam("Sign")
String sign) throws Exception {
tourOrderXML = URLDecoder.decode(tourOrderXML, "UTF-8");
String remoteSign = URLDecoder.decode(sign, "UTF-8");