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

问题描述

webservice返回base64Binary的字符串axis自动生成的客户端使用DataHandler接收如何获取内容?正常应该是返回给我的base64加密字符串,我现在获取出来的都是乱码源码org.apache.axiom.util.stax.XMLStreamReaderUtils.getDataHandlerFromElement(reader)难道是因为使用了Base64DecodingOutputStreamWriter导致的?publicstaticDataHandlergetDataHandlerFromElement(XMLStreamReaderreader)throwsXMLStreamException{WritableBlobblob;Writerout;intevent=reader.next();if(event==2)returnnewDataHandler(newEmptyDataSource("application/octet-stream"));if(event!=4)thrownewXMLStreamException("ExpectedaCHARACTERevent");DataHandlerReaderdhr=getDataHandlerReader(reader);if(dhr!=null&&dhr.isBinary()){DataHandlerdh=dhr.getDataHandler();reader.next();returndh;}blob=newMemoryBlob();out=newBase64DecodingOutputStreamWriter(blob.getOutputStream());breakMISSING_BLOCK_LABEL_101;ex;thrownewXMLStreamException("Errorduringbase64decoding",ex);writeTextTo(reader,out);IOExceptionex;label0:doswitch(reader.next()){case4://'04'writeTextTo(reader,out);break;default:thrownewXMLStreamException("ExpectedaCHARACTERevent");case2://'02'out.close();breaklabel0;}while(true);returnnewDataHandler(newBlobDataSource(blob,"application/octet-string"));}

解决方案

解决方案二:
坐等啊

时间: 2024-09-30 15:49:06

webservice返回base64Binary内容axis客户端DataHandler接收如何获取内容?的相关文章

axis客户端如何接收服务端报出的异常

问题描述 我用axis开发了一个服务端(java),在使用客户端调用的时候,服务端抛出一个自定义异常,在客户端怎么能接收到呢?我的服务端后台报错了,但客户端还是正常返回,好像异常没有接收处理,求大神指导 解决方案 解决方案二:引用楼主zzuchaguan的回复: 但客户端还是正常返回 返回什么东西?解决方案三:正常返回的,我的java类返回的是字符串,如果没有异常会返回一个字符串,明显服务端报错了,但还是返回的成功的信息解决方案四:引用1楼sp1234的回复: Quote: 引用楼主zzucha

webservice返回xml数据读取 XML 数据时,超出最大字符串内容长度配额 (8192)。

问题描述 webservice返回xml数据读取 XML 数据时,超出最大字符串内容长度配额 (8192). webservice返回xml数据读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额 ,怎么解决?谢谢了 麻烦带具体的步骤代码 解决方案 读取 XML 数据时,超出最大字符串内容长度配额 (8192).读取 X

arraylist-android怎么接收java webservice返回的自定义类型中的List集合

问题描述 android怎么接收java webservice返回的自定义类型中的List集合 webservice用的是jax-ws android用的是ksoap 服务器返回的类型 public final class Group implements Serializable { private int id; private String name; private int bGID; public List<Group> group = new ArrayList<Group&

client发的请求接收返回信息时用send来接收,其余的由receive来接收,怎么改?求大神帮忙

问题描述 client发的请求接收返回信息时用send来接收,其余的由receive来接收,怎么改?求大神帮忙 sever的请求都友client的receive来接收,client发的请求接收返回信息时用send来接收,怎么改下?求大神帮忙,我只会大概写了下代码,菜鸟急需用! package test; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; impo

Windows 和 Linux下使用socket下载网页页面内容(可设置接收/发送超时)的代码

主要难点在于设置recv()与send()的超时时间,具体要注意的事项,请看代码注释部分,下面是代码:   [cpp] view plaincopyprint?   #include <stdio.h>   #include <sys/types.h>   #include <stdlib.h>   #include <string.h>   #include <errno.h>   #include <string.h>     

web service-jax-ws调用webService返回结果为json,使用拼装soap调用返回信息转义了

问题描述 jax-ws调用webService返回结果为json,使用拼装soap调用返回信息转义了 返回json:{"loginName":"admin1","msg":"return success","ret":"0"} 以下是调用方法: public static String callWS(String SOAPUrl, String body) throws Exceptio

axis 客户端调用jax-rs 服务端时传参数问题

问题描述 接口服务端的方法:@Produces("application/xml")@Consumes("application/xml")@Path("login")@SingletonpublicclassHelloServiceImplimplementsHelloService{@POST@Path("userVerify")@Produces("application/xml")@Consumes

Java访问WebService返回XML数据的方法_java

本文实例讲述了Java访问WebService返回XML数据的方法.分享给大家供大家参考.具体如下: import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.io.FileNotFoundException; import java.io

axis-soapui访问Axis2发布的webservice返回异常SAXParseException

问题描述 soapui访问Axis2发布的webservice返回异常SAXParseException 原因是encodingtyle元素not bound,wsdl如下: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://192.168.5.191:8088/dataSync/services/MonitorDataLoad