Problème cXML PunchoutSetupRequest dans Struts2 ... tout en recevant la demande
Question
J'utilise servlet recive rquest dans Struts2 pour le module cXML PunchOut, le document XML sera envoyé à la demande en cours d'eau et i avait utilisé request.getInputStream()
et request.getReader()
recive mais quand la demande atteint mon servlet de retours système client à distance de inputSteram.read()
- 1, mais les rendements de req.getContentLength()
longueur de la chaîne XML de l'objet de la demande ....
Comment puis-je obtenir plus de cette question ...? est-il une autre façon de mener à bien ce processus ..?
Note: la même servlet fonctionne dans un environnement non-entretoises .......
La solution
Solved : If you are using inputStream in srvlet to read value stream, you are not suppose to use Request.getParameter().... before getting Stream value to InputStream through req.getInputStream()...
Ex:
Correct-- method
InputStream in=req.getInputStream();
StringBuffer xmlStr=new StringBuffer();
int d;
while((d=in.read()) != -1){
xmlStr.append((char)d);
}
System.out.println("xmlStr1--"+xmlStr.toString());
Below method will cause ISSUE:
String str = req.getParameter("SOMETEXT");
InputStream in=req.getInputStream();
StringBuffer xmlStr=new StringBuffer();
int d;
while((d=in.read()) != -1){
xmlStr.append((char)d);
}
System.out.println("xmlStr1--"+xmlStr.toString());