如何通过ksoap2将byteArray从android发送到wcf
本文关键字:wcf android 何通过 ksoap2 byteArray | 更新日期: 2023-09-27 18:27:03
实际上我可以发送整数或字符串,但我不知道如何发送字节数组。
这是我的wcf代码。它接收字节数组,然后返回字符串。
public string GetFirstName(byte[] bmpArray)
{
//Bitmap bitmap = ImageTypeConverter.ArrayToImage(source, 480, 640);
//bitmap.Save(Environment.CurrentDirectory + "test" + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
return "ImageSaveComplete";
}
这是android代码的一部分。
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
new MarshalBase64().register(envelope);
envelope.encodingStyle=SoapEnvelope.ENC;
request.addProperty("source", bmpArray);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
实际上这是错误的代码。
有人帮我解决这个问题。
提前谢谢。
如果您可以编辑服务,您可以让服务采用字符串而不是字节,并通过base64编码的字符串发送。但你可以发送字节,这就是我的代码看起来的样子,但它似乎和你的一样
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("source", bmpArray);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
new MarshalBase64().register(envelope);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL, 300000);