gpt4 book ai didi

java - 如何从 Android 中的 Web 服务检索二进制数据?

转载 作者:行者123 更新时间:2023-11-30 04:38:43 26 4
gpt4 key购买 nike

   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();

这是我调用发送 byte[] 数组的 .NET Web 服务的代码。我怎样才能从结果变量得到byte[]数组,或者是否有另一种方法来检索byte[]数组?

最佳答案

假设所提供的代码使用的是 kSoap2。如果您想访问检索到的数据,请忘记 envelope.getResponse() 返回的响应对象。

您要查找的数据可以通过

检索
SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
if (resultsRequestSOAP != null) {
Object o = resultsRequestSOAP.getProperty("name of the byte-array parameter");
// ...
}

返回的对象 o 通常是 SoapPrimitive 类型,也可能是 Vector

如果它是一个 SoapPrimitive,使用它的 toString() 方法,您可以获得必须解析并转换为字节数组的字节数组的字符串表示形式。

如果它是 Vector,我认为将它转换为字节数组不会有问题。

关于java - 如何从 Android 中的 Web 服务检索二进制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6383746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com