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
--
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