httpclient 노트 (2)
A 서버:
msURL: http://192.168.7.203:8080
/**
* B
*
* @param File file
* @param serviceType
* @param spId id
* @return
*/
public String sendApply(File file, String serviceType, String spId) {
String fromAgentResult = "";
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(msUrl+"?serviceType="+serviceType+"&spId="+spId+"&type=menu");
// MultipartPostMethod filePost = new MultipartPostMethod(msUrl);
// ,
client.getHttpConnectionManager(). getParams().setConnectionTimeout(8000);
try {
FilePart fp = new FilePart(file.getName(), file);
MultipartRequestEntity mrp= new MultipartRequestEntity(new Part[]{fp}, filePost.getParams());
filePost.setRequestEntity(mrp);
//
filePost.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
int httpStat = client.executeMethod(filePost);
System.out.println("httpStat----"+httpStat);
if (!(httpStat == HttpStatus.SC_OK)) {
fromAgentResult = "connected fail:" + httpStat;
} else if (httpStat == HttpStatus.SC_OK) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder
.parse(filePost.getResponseBodyAsStream());
doc.normalize();
// NodeList optypeNL= doc.getElementsByTagName("optype");
NodeList resultNL = doc.getElementsByTagName("result");
// fromAgentOptype=
// optypeNL.item(0).getFirstChild().getNodeValue();
fromAgentResult = resultNL.item(0).getFirstChild()
.getNodeValue();
System.out.println(" , :"+fromAgentResult);
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
filePost.releaseConnection();
return fromAgentResult;
}
B 서버 수신:
boolean bl = false;
System.out.println(" --------------");
String serviceType = request.getParameter("serviceType");
String spId = request.getParameter("spId");
String type = request.getParameter("type");
if (type.equals("menu")) {
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(1000000);
List fileItems;
try {
fileItems = fu.parseRequest(request);
Iterator itr = fileItems.iterator();
while (itr.hasNext()) {
FileItem fi = (FileItem) itr.next();
if (!fi.isFormField()) {
System.out.println("
NAME: " + fi.getName());
System.out.println("SIZE: " + fi.getSize());
try {
String newFileName = msu.updateName(Integer
.parseInt(serviceType), spId);
System.out.println("newFileName---------------"
+ newFileName);
File fNew = new File(applyFilePath, newFileName);
fi.write(fNew);
bl = msu.acceptApply(Integer.parseInt(serviceType),
spId, newFileName);
System.out.println(fNew.getAbsolutePath());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
System.out.println("Field =" + fi.getFieldName());
}
}
} catch (FileUploadException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
//
msu.responseToAS(response, bl);
System.out.println(" , :" + bl);
return null;
//msu.responseToAS
public void responseToAS(HttpServletResponse response, boolean synSuccess) {
try {
PrintWriter out = response.getWriter();
if (synSuccess)
out
.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><result>ok</result></root>");
else
out
.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><result>fail</result></root>");
} catch (IOException e) {
e.printStackTrace();
System.out.println("responseToAS--error");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.