Mário,

Como disse no email anterior está tudo ok apenas não está exibindo o pdf.
Fiz um outro teste e no browser eu digitei o endereco do servlet e o pdf é
exibido..

No Flex funciona porque uso

var request:URLRequest = new URLRequest("/servlet/ServletReport");
navigateToURL(request, "_blank");

com isso ele abre uma aba em branco com o endereço do servlet e
funciona...Foi o que fiz manualmente agora...
Mas chamando o servlet com o httpClient não é aberta outra aba por isso acho
que não está OK ainda...

Qualquer ajuda é bem vinda

2011/6/26 Leonardo Ribeiro <[email protected]>

> opa...
>
> Consegui passar os parâmetros. ;-)
> Porém o probleminha agora é outro...
> Quando chamava o meu servlet do Flex por exemplo ele abria outra aba do
> browser com o pdf, perfeito....mas agora chamando com o HttpClient isso não
> ocorre mais...Abaixo o trecho de código do servlet para exibir o PDF
>
> JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(reportData);
>         JasperPrint prt =
> JasperFillManager.fillReport(reportFile.getPath(), params, ds);
>         bytes = JasperExportManager.exportReportToPdf(prt);
>
>             if (bytes != null && bytes.length > 0) {
>                 response.setContentType("application/pdf");
>                 response.setContentLength(bytes.length);
>                 ServletOutputStream ouputStream =
> response.getOutputStream();
>                 ouputStream.write(bytes, 0, bytes.length);
>                 ouputStream.flush();
>                 ouputStream.close();
>             }
>
> Ele gera o 'byes' corretamente...só não está abrindo outra aba do browser
> para exibir o pdf.
> Alguma idéia do que pode ser ?
>
> Abaixo segue trecho do código usado para chamar o servlet, que está no meu
> webservice
>
> org.apache.http.client.HttpClient httpclient = new DefaultHttpClient();
>  try {
> HttpPost httppost = new HttpPost("
> http://localhost/CadastroPessoa/ServletReport";);
>  List <NameValuePair> nvps = new ArrayList <NameValuePair>();
>             nvps.add(new BasicNameValuePair("dataset", arquivo));
>             httppost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
>             httpclient.execute(httppost);
>
>
>
> 2011/6/26 Leonardo Ribeiro <[email protected]>
>
>> Mário,
>>
>> Com sua sugestão do HttpClient consegui dar um passo adiante, agora
>> consigo "chamar" o servlet com o seguinte código
>>
>> org.apache.http.client.HttpClient httpclient = new DefaultHttpClient();
>>  try {
>>  HttpPost httppost = new HttpPost("
>> http://localhost/nomequalquer/meuservlet";);
>>  httpclient.execute(httppost);
>>
>> Só falta agora eu conseguir passar um parâmetro para que no método
>>
>>  protected void service(HttpServletRequest request, HttpServletResponse
>> response) throws ServletException, IOException {}
>>
>> do Servlet eu consiga recuperar esse parâmetro (recebido no request) e
>> realizar o processamento necessário
>>
>>
>>
>>
>> 2011/6/26 Leonardo Ribeiro <[email protected]>
>>
>>> Mário,
>>>
>>> É o seguinte, temos um sistema em .net e esse sistema me gera um xml com
>>> os dados para serem impressos no relatório.
>>> Esse xml é enviado para um webservice e ao receber esse xml o webservice
>>> deve gerar o relatorio, no caso o PDF, usando o jasper.
>>>
>>> Em aplicação Flex eu chamo o servlet que gera o relatório sem problema,
>>> já tenho feito e funciona perfeitamente, mas agora não tem flex no contexto,
>>> somente uma aplicação feita em .net e um webservice que recebe esse xml, daí
>>> a minha dúvida, porque se eu conseguir do webservice chamar esse meu servlet
>>> meus problemas estariam resolvidos
>>>
>>> No caso tanto o webservice quanto o servlet estariam no servidor (Tomcat
>>> no meu caso).
>>>
>>> Não sei se agora ficou mais claro o meu problema. Vou ver como usar esse
>>> httpclient que vc sugeriu. A bucha é que preciso entregar algo amanhã já.
>>>
>>> Obrigado pela resposta
>>>
>>>
>>> 2011/6/26 Mário Júnior <[email protected]>
>>>
>>>> Nao entendi direito o porquê de querer fazer isso, mas enfim, talvez o
>>>> HttpClient (http://hc.apache.org/httpclient-3.x/) resolve isso pra vc
>>>> (se é q entendi bem sua dúvida).
>>>>
>>>>
>>>> []'s
>>>>
>>>>
>>>>
>>>> Em 26 de junho de 2011 01:27, Leonardo Ribeiro 
>>>> <[email protected]>escreveu:
>>>>
>>>>> Pessoal,
>>>>>
>>>>> Desculpem o Off-Topic mas é que estou a procura dessa informação e não
>>>>> encontrei.
>>>>>  Cheguei a postar no GUJ também e como aqui tem desenvolverdor java
>>>>> também, cá estou eu...
>>>>>
>>>>> Estou desenvolvendo um Web Service com jax-ws e precisaria de dentro de
>>>>> um método do web service chamar um servlet, no caso para processar um
>>>>> relatório em jasper e exibir em outra aba do browser como pdf.
>>>>> Alguém tem um tutorial ou algo parecido de como invocar o servlet a
>>>>> partir do WS?
>>>>>
>>>>> Em Flex eu chamo esse servlet com o 'URLRequest'...Mas no java.. de
>>>>> dentro de um método do WebService eu não estou conseguindo..
>>>>>
>>>>> Obrigado
>>>>>
>>>>> --
>>>>> []'s
>>>>> Leonardo
>>>>>
>>>>> Linux User #488650
>>>>> Ubuntu User #27045
>>>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>>>>
>>>>> --
>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>> [email protected]
>>>>> Para sair da lista, envie um email em branco para
>>>>> [email protected]
>>>>> Mais opções estão disponíveis em
>>>>> http://groups.google.com/group/flexdev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Mario Junior
>>>> http://blog.mariojunior.com/
>>>> @mariojunior
>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>>> Para sair da lista, envie um email em branco para
>>>> [email protected]
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>>
>>>
>>>
>>> --
>>> []'s
>>> Leonardo
>>>
>>> Linux User #488650
>>> Ubuntu User #27045
>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>>
>>
>>
>>
>> --
>> []'s
>> Leonardo
>>
>> Linux User #488650
>> Ubuntu User #27045
>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>
>
>
>
> --
> []'s
> Leonardo
>
> Linux User #488650
> Ubuntu User #27045
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>



-- 
[]'s
Leonardo

Linux User #488650
Ubuntu User #27045
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a