2014-10-20 7 views
0

사실 정수 또는 문자열을 보낼 수 있지만 byte 배열을 보내는 방법을 모르겠습니다.ksoap2를 통해 w3d로 안드로이드에서 byteArray를 보내는 방법

여기 내 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"; 
    } 

이것은 안드로이드 코드의 일부입니다.

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

사실 잘못된 코드입니다.

누군가이 문제를 해결하는 데 도움을줍니다.

미리 감사드립니다.

답변

0

서비스를 편집 할 수있는 경우 서비스는 바이트 대신 문자열을 사용하고 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); 
관련 문제