Java 如何在Android中从Web服务中检索二进制数据?
这是我调用.NET web服务的代码,该服务发送字节[]数组。如何从结果变量中获取byte[]数组,或者是否有另一种方法来检索byte[]数组?假设提供的代码使用kSoap2。如果要访问检索到的数据,请忘记由Java 如何在Android中从Web服务中检索二进制数据?,java,android,ksoap2,Java,Android,Ksoap2,这是我调用.NET web服务的代码,该服务发送字节[]数组。如何从结果变量中获取byte[]数组,或者是否有另一种方法来检索byte[]数组?假设提供的代码使用kSoap2。如果要访问检索到的数据,请忘记由envelope.getResponse()返回的响应对象 您要查找的数据可以通过 SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); Log.d("WebService", "2");
envelope.getResponse()
返回的响应对象
您要查找的数据可以通过
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
Log.d("WebService", "2");
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
返回的对象o通常是SoapPrimitive
类型,或者可能是向量
如果它是一个SoapPrimitive,使用它的toString()
方法,您可以获得字节数组的字符串表示形式,该字节数组必须被解析并转换为字节数组
如果它是一个向量,我认为将其转换为字节数组不会有问题。假设所提供的代码使用的是kSoap2。如果要访问检索到的数据,请忘记由
envelope.getResponse()
返回的响应对象
您要查找的数据可以通过
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
Log.d("WebService", "2");
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
返回的对象o通常是SoapPrimitive
类型,或者可能是向量
如果它是一个SoapPrimitive,使用它的toString()
方法,您可以获得字节数组的字符串表示形式,该字节数组必须被解析并转换为字节数组
如果是向量,我认为将其转换为字节数组不会有问题。看起来您正在使用KSoap2库生成请求。看起来您正在使用KSoap2库生成请求。