传递字符串数组到C#的Web服务(Android Ksoap2)

问题描述:

嗨,所以我一直在搜索谷歌一段时间,但似乎不能有一个坚实的例子。过去几天我一直在使用webservice和android一起工作,我可以成功地从android传递参数,并用ksoap将其消耗完毕,没有任何问题。但是现在我需要将一个数组传递给一个web服务。所以,我的继承人简单的Web服务:传递字符串数组到C#的Web服务(Android Ksoap2)

[WebMethod] 
public string Sample(string[] logs) 
{ 
    return array[0]; 
} 

这是我需要生成XML:

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <Sample xmlns="http://MTKAndroidService.org/"> 
     <array> 
     <string>string</string> 
     <string>string</string> 
     </array> 
    </Sample> 
    </soap:Body> 
</soap:Envelope> 

我一直坚持这一有一段时间了,希望有人能帮助我。

+1

怎么样正好路过一个逗号分隔的字符串,然后使用'String []数组= String.Split (“,”,输入);' – Jonesopolis

+0

感谢您的回复。是的,我已经冒险进入这个选项,但如果我这样做的话,弦会太长。我们在这里谈论高达100个字符串值,所以我不认为最好使用这种技术 – TheProvost

终于得到它....对于那些谁是停留在此也生病后我的回答

public String Sample() 
    { 
     String SOAP_ACTION = "http://MTKAndroidService.org/Sample"; 
     String METHOD_NAME = "Sample"; 
//  URL = "http://10.0.2.2:49923/Service1.asmx"; // to be adjusted to the URL above once this code is added into WebService; 
     String IP_LIST=""; 
     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
     List<String> logs = new ArrayList<String>(); 
     logs.add("hello"); 
     logs.add("world"); 
     SoapObject soapLogs = new SoapObject(NAMESPACE, "logs"); 
     for (String i : logs){ 
      soapLogs.addProperty("string", i); 
     } 
     request.addSoapObject(soapLogs); 

     SoapSerializationEnvelope IPenvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     IPenvelope.dotNet = true; 
     IPenvelope.setOutputSoapObject(request); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

      try 
      { 
       androidHttpTransport.call(SOAP_ACTION, IPenvelope); 
       SoapPrimitive response = (SoapPrimitive)IPenvelope.getResponse(); 
       Log.i("myApp", response.toString()); 
       IP_LIST= response.toString(); 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      } 
      return IP_LIST; 
    } 
+0

@TheProvots:请。请参考此链接[http://stackoverflow.com/questions/19198017/pass-arraylist-data-into-soap-web-service-in-android] http://stackoverflow.com/questions/19198017/pass-arraylist-数据到肥皂web服务在Android)你有什么想法我怎么能发送这种类型的数据肥皂服务 –

+0

嗨,很抱歉,我登录后很长一段时间...无论如何,你仍然有问题有了这个?我似乎无法访问您的页面 – TheProvost

+0

:引用链接[http://stackoverflow.com/questions/19353244/issue-in-passing-json-format-in-soap-service-android](http://stackoverflow.com/questions/19353244/issue-in-passing-json-format-in-soap-service-android)我该如何传递这些数据? –