webservice返回base64Binary内容axis客户端DataHandler接收如何获取内容?

超超级奥特曼 2014-07-03 02:36:02
webservice返回base64Binary的字符串
axis自动生成的客户端使用DataHandler接收如何获取内容?
正常应该是返回给我的base64加密字符串,我现在获取出来的都是乱码

源码
org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader)

难道是因为使用了Base64DecodingOutputStreamWriter导致的?

public static DataHandler getDataHandlerFromElement(XMLStreamReader reader)
throws XMLStreamException
{
WritableBlob blob;
Writer out;
int event = reader.next();
if(event == 2)
return new DataHandler(new EmptyDataSource("application/octet-stream"));
if(event != 4)
throw new XMLStreamException("Expected a CHARACTER event");
DataHandlerReader dhr = getDataHandlerReader(reader);
if(dhr != null && dhr.isBinary())
{
DataHandler dh = dhr.getDataHandler();
reader.next();
return dh;
}
blob = new MemoryBlob();
out = new Base64DecodingOutputStreamWriter(blob.getOutputStream());
break MISSING_BLOCK_LABEL_101;
ex;
throw new XMLStreamException("Error during base64 decoding", ex);
writeTextTo(reader, out);
IOException ex;
label0:
do
switch(reader.next())
{
case 4: // '\004'
writeTextTo(reader, out);
break;

default:
throw new XMLStreamException("Expected a CHARACTER event");

case 2: // '\002'
out.close();
break label0;
}
while(true);
return new DataHandler(new BlobDataSource(blob, "application/octet-string"));
}
...全文
355 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
超超级奥特曼 2014-07-03
  • 打赏
  • 举报
回复
超超级奥特曼 2014-07-03
  • 打赏
  • 举报
回复
坐等啊

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧