プロジェクトの一環として、画像をサーバーにアップロードする必要があります。サーバー部分には、バイト配列を受け入れて画像に変換する Web サービスがあります。私のクライアント部分(Android + ksoap2)では、Base64エンコーディングを使用して画像をbyte []配列に変換しました。しかし、バイト配列を Web サービスに渡すことができませんでした。いくつかのシリアライゼーションの問題を示しています。ksoap2を使用してバイト配列をWebサービスに渡すにはどうすればよいですか。誰か助けてください.....
2273 次
1 に答える
1
このコードで試してください
を使用してバイト配列をシリアル化しますMarshalBase64
MarshalBase64 marshal = new MarshalBase64();
ByteArrayOutputStream out = new ByteArrayOutputStream();
bmp.compress(CompressFormat.PNG, 100, out);
byte[] raw = out.toByteArray();
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
OPERATION_NAME);
request.addProperty("image", raw);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
marshal.register(envelope);
HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
try
{
httpTransport.call(SOAP_ACTION, envelope);
Object response = envelope.getResponse();
}
catch (Exception exception)
{
exception.printStackTrace();
}
}
于 2011-03-26T09:13:25.850 に答える