Pergunta

Eu estou usando servlet para rquest recive em Struts2 para cXML punchout módulo, o documento XML será enviado com o pedido no córrego e eu tinha usado request.getInputStream() e request.getReader() para recive mas quando o pedido bate no meu servlet de cliente remoto inputSteram.read() sistema de retornos - 1, mas req.getContentLength() retornos comprimento da corda xml de solicitação objeto ....

Como posso obter mais deste problema ...? existe alguma outra maneira de realizar este processo ..?

Nota: o mesmo servlet trabalha em ambiente não-suportes .......

Foi útil?

Solução

resolvido: Se você estiver usando inputStream em srvlet para ler fluxo de valor, você não está supor para usar request.getParameter () .... antes de começar valor Stream para InputStream através req.getInputStream () ...

Ex:

método Correct--

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());

Abaixo método irá causar EDIÇÃO:

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());
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top