android调用.Net WebService传递byte[]
android調用.Net WebService傳遞byte[]
?
android端代碼:
SoapObject request = new SoapObject(Constant.NAMESPACE, "XXXX"); // request.addProperty("strIn", "123456"); byte[] byValue; byValue = "Hello world".getBytes(); String strByte = Base64.encode(byValue); request.addProperty("condtion", strByte); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(request); new MarshalBase64().register(envelope); // 發出請求 AndroidHttpTransport aht = new AndroidHttpTransport(Constant.URL); // aht.debug = true; try { aht.call(Constant.SOAP_ACTION + "XXXX", envelope); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { Object obj = envelope.getResponse(); System.out.println(String.valueOf(obj)); } catch (SoapFault e) { // TODO Auto-generated catch block e.printStackTrace(); }
?
.NET端:
[WebMethod(Description = "測試byte[]")] public string XXXX(string condtion) { byte[] buffer = Convert.FromBase64String(condtion);//拿到byte[],你可以為所欲為了 return Encoding.UTF8.GetString(buffer); //類型轉換很重要 }
?
?
總結
以上是生活随笔為你收集整理的android调用.Net WebService传递byte[]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2014-11-23】《The Har
- 下一篇: CentOS上搭建Nginx + Mon