已编码的字符串作为DataHandler

时间:2014-04-07 20:28:28

标签: java web-services encoding datahandler

因此,在查看a similar SO Post about String and DataHandlers之后,我在效率方面遇到了问题。我有一个字符串进入我已经编码的Web服务。我需要将此String转换为DataHandler以放入POJO并发送到另一个服务。当我使用new ByteArrayDataSource(String, type)时,它正在编码已编码的字符串(第二次)。

要解决此问题,我将解码输入,然后将创建的byte[]传递给new ByteArrayDataSource(byte[], type)。当我已经传入编码版本时,我担心在必须解码和重新编码图像时会产生性能损失。有没有办法创建DataHandler(或DataSource )从已编码的字符串不需要“MIME类型”,所以我不必解码编码?

我已尝试使用FileDataSource(String),但这不起作用,使用带解码字符串的工作ByteArrayDataSource(byte[], String)中使用相同的输入。我还尝试使用ByteArrayDataSource(String, type)传递类型的空白字符串。

1 个答案:

答案 0 :(得分:1)

经过一番搜索后,我遇到了一个执行此操作的Apache库,但我不确定它会有多高效。 Apache Axis2 has a ConverterUtil class看起来有很多字符串的二进制操作方法。

稍微查看一下代码,convertToDataHandler(String)的代码只是将String传递给convertToBase64Binary(String)函数。这只是通过解码然后继续从String创建一个新的ByteArrayDataSource。因此,util正在完成我已经在做的功能。