我在java开发方面相对较新.. 我想创建一个Web服务(jax-ws)/ web应用程序,它将接收一些输入并生成pdf,然后在浏览器中打开pdf。我设法创建pdf(使用itext)并使用servlet(使用FileInputStream等)在broswer中打开它。 但是我不知道,如何从Web服务返回servlet。 我应该怎么做,所以当我调用Web服务通过servlet接收pdf时?
答案 0 :(得分:1)
如果您从servlet返回PDF,则表示您的servlet将PDF流作为输出发送,并可能将内容类型设置为“application / pdf”。这在浏览器中工作正常,这是正确的方法。
但是,您无法从浏览器轻松调用Web服务(无论是JAX-WS还是其他任何堆栈)。 Web服务调用需要POST和严格定义的SOAP内容。但是,您可以使用AJAX来调用Web服务,但这是一个不同的故事(也请看REST)。
如果要从Web服务返回二进制数据(请记住Web服务适用于机器,而不是使用Web浏览器的人),您有两种选择:使用base64序列化二进制数据或使用multipart HTTP响应(MTOM标准,参见例如:http://www.mkyong.com/webservices/jax-ws/jax-ws-attachment-with-mtom)。