2010-09-20 18 views
0

我们正在开发一个Java Web服务(基于SOAP),它必须返回某些数据以及Image。Java Web Service应该如何返回映像?

Web服务使用MULE ESB开发。 Web服务的使用者是FLEX客户端。

文本数据以XML形式返回。但我不确定Web服务如何将Image返回给FLEX客户端。

截至目前我能想到的下列选项:

选项1:存放在Tomcat服务器的图像,并把它的URL到客户端?

选项2:将图像转换为字符串,然后让客户端转换回来?

或者还有其他更好的选择。

请提出建议。

谢谢:)

回答

4

我会去选择1,有效地通过引用。

如果您在Web服务消息正文中传递图像,则需要将其编码为字符,然后客户端需要解码图像。字符编码的图像几乎是二进制大小的两倍,所以这会减慢消息的创建和传输。

大多数客户端不会处理Web服务回复,但不会收到整个消息,因此这将进一步降低客户端的响应能力。

除了任何其他的传递URL之外,编码和调试都会更简单。

0

如果您使用选项1并且您正在动态生成图像,则难以跟踪所有最近生成的图像并保持该状态... 如果您选择选项2,那么您将取消REST约束(自我描述性消息)的Web服务。那么,是否可以使用FLEX客户端的Internet媒体类型?

1

您可以将图像作为字节数组发送,请检查this