生成返回png文件的Java Web服务

生成返回png文件的Java Web服务,java,web-services,webservice-client,Java,Web Services,Webservice Client,我已经编写了一段Java代码,它获取一个字符串作为参数,并调用一些要运行的R脚本,scrip将生成一个.PNG文件(这是服务的结果)。我应该将其公开为一个Web服务,然后稍后它将被一个网站(作为服务客户端)使用 谁能给我指点一下怎么做?有任何教程可以做到这一点吗?这与设计接收任何输入并返回任何输出的web服务没有太大区别。这里唯一的区别是返回的是二进制数据,而不是文本数据 如果返回的是二进制数据,那么Java方法的返回值应该是字节数组(byte[])。从R脚本中获取png文件后,将其完全读入字节

我已经编写了一段Java代码,它获取一个字符串作为参数,并调用一些要运行的R脚本,scrip将生成一个.PNG文件(这是服务的结果)。我应该将其公开为一个Web服务,然后稍后它将被一个网站(作为服务客户端)使用


谁能给我指点一下怎么做?有任何教程可以做到这一点吗?

这与设计接收任何输入并返回任何输出的web服务没有太大区别。这里唯一的区别是返回的是二进制数据,而不是文本数据

如果返回的是二进制数据,那么Java方法的返回值应该是字节数组(
byte[]
)。从R脚本中获取
png
文件后,将其完全读入字节数组并返回该数组

当您在此Java代码之上生成Web服务层时,将为您生成将二进制数据转换为文本格式的“粘合”代码


png
文件无法立即完成的问题与web服务无关。Java代码调用R脚本,等待它完成,然后将文件读入字节数组。只要web服务客户端愿意等待整个周期结束,就没有问题。只需确保web服务客户端配置了正确的超时设置。

我以前没有这样做过,但您可以将.png文件输出到字节[],然后使用将其转换为字符串并在XML响应中返回。

是生成png还是此png存在?@PbxMan png文件将由脚本生成。(但由于处理延迟,需要一些时间才能生成)。谢谢你的回答,我只是想知道java函数的返回类型应该是什么,以及如何从作为服务客户端的网页中检索它,你能再解释一下吗。我的另一个问题是,R脚本生成png并写入到一个文件夹中。但它不会立即执行,需要一些未知的操作时间,这不是个问题吗?