Problem cxml PunchoutSetupRequest in Struts2 ... während Anforderung empfangen
Frage
Ich bin mit Servlet recive rquest in Struts2 für cxml punchout Modul wird das XML-Dokument mit Anfrage in Strom geschickt, und ich hatte request.getInputStream()
und request.getReader()
verwendet recive aber wenn die Anforderung schlägt mein Servlet von Remote-Client-System inputSteram.read()
zurückkehrt - 1, aber req.getContentLength()
kehrt Länge der xML-Zeichenfolge von Request-Objekt ....
Wie kann ich von diesem Thema erhalten über ...? Gibt es eine andere Möglichkeit, diesen Prozess durchzuführen ..?
Hinweis: das gleiche Servlet arbeitet in nicht-Streben Umgebung .......
Lösung
Gelöst: Wenn Sie in input srvlet verwenden Wertstrom zu lesen, Sie sind nicht zu verwenden Request.getParameter annehmen () .... vor Stream-Wert Input durch req.getInputStream bekommen () ...
Beispiel:
Correct-- Methode
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());
Unter Methode Problem verursachen:
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());