2013-12-10 23 views
0

我想通过一个字节[]通过webservices我需要封送字节[]。到目前为止,这是我的。这种方法是在一类我创建了一个名为MarshallArray并实现元帅Ksoap2 android库元帅字节[]

public void writeInstance(XmlSerializer writer, Object obj) throws IOException { 
    byte[] myArray = (byte[]) obj; 
    for (int i = 0; i < myArray.length; i++) { 
     writer.startTag("", "ArrayOfBytes"); 
     writer.text(Base64.encode(myArray[i]).toString()); 
     writer.endTag("", "ArrayOfBytes"); 
    } 
} 

我用来创建,这是

public void writeInstance(XmlSerializer writer, Object obj) throws IOException { 
    String[][][] myArray = (String[][][]) obj; 
    for (int i = 0; i < myArray.length; i++) { 
     writer.startTag("", "ArrayOfArrayOfString"); 
     for (int j = 0; j < myArray[i].length; j++) { 
      writer.startTag("", "ArrayOfString"); 
      for (int k = 0; k < myArray[i][j].length; k++) { 
       writer.startTag("", "string"); 
       writer.text(myArray[i][j][k]); 
       writer.endTag("", "string"); 
      } 
      writer.endTag("", "ArrayOfString"); 
     } 
     writer.endTag("", "ArrayOfArrayOfString"); 
    } 
} 

我的问题是,在第一种方法是如何获得的例子在字节元素[],因为它只能接收一个字节[]数组,而不是一个元素

Base64.enconde(byte[]) 

回答

0

通常我做什么是我创建一个新的SoapObject如下:

SoapObject request = new SoapObject(...) 

然后添加我字节数组如下:

request.addProperty("myArray ", myArray); 

然后:

SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11); 
MarshalBase64().register(envelope); 
envelope.setOutputSoapObject(request); 
+0

而myArray的是一个字节[]例如用于图像? – JoaoFilipeClementeMartins

+0

可能,是的,我想 – Nostradamus