哪位高手能帮忙解决一下ksoap2发送带附件的webservice 我用的是ksoap2-android-assembly-2.4-jar-with-dependencies.jar 如何接受或发送低么附件格式的图片 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 神马意思啊?带附件的webservice?Android作为客户端发一段发送byte数据的代码给你瞅瞅,希望对你有帮助:public class ksoap2webservice { private static final String URL = "http://192.168.1.1/WebSite/Service.asmx"; private static final String NAMESPACE = "http://tempuri.org/"; private static final String METHOD_NAME = "Test"; private static final String SOAP_ACTION = "http://tempuri.org/Test"; public static String callWebService() throws Exception{ SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("strIn", "123456"); byte []byValue = new byte[]{0,1,2,3,'a', 'b'}; String strByte = Base64.encode(byValue); request.addProperty("request", strByte); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11 ); envelope.dotNet = true; envelope.setOutputSoapObject(request); new MarshalBase64().register(envelope); //发出请求 AndroidHttpTransport aht = new AndroidHttpTransport(URL); //aht.debug = true; aht.call(SOAP_ACTION, envelope); SoapObject soResult = (SoapObject)envelope.bodyIn; SoapPrimitive spRespose = (SoapPrimitive)soResult.getProperty("respose"); String getReturn = new String(Base64.decode(spRespose.toString()), "utf-8"); return getReturn; }}服务器端使用的是C#搞的一个简单WebService。Test方法如下: [WebMethod] public int Test(string strIn,byte[] request, out byte[] respose) { string s = "cccca连111接222222"; respose = System.Text.Encoding.UTF8.GetBytes(s); return respose.Length; }其实图片神马的都可以读取到byte数组中来。 如果你要发送二进制的东西,那就要先转成base64编码,然后才能通过webservice传递。 谢谢各位了!转成base64可以解决但是服务器那边是用的.net用的是soap加入dime附件的形式发送图片这个就比较难搞了!估计用ksoap可能没办法可以解决。还是谢谢各位了。 android 自动添加一个标签 并让此标签获得焦点 如何修改wifi的softmac Android ListView一个问题,请大虾们help android 自适应屏幕分辨率 Integer... integers中的“...”是什么意思? 安卓移动应用项目开发最新书籍 从接口获取数据出现问题(新手求助~) 关于PopuWindow动态设置背景的问题 求最新的zxing解析 将 byte[]数据写成一个语音文件 pcm 格式,或者wav 格式 ,或者avi格式 我想获取摄像头的图像,可是却显示黑屏。内有代码,请高手给看看 Intent 能否传送数据库类型,
Android作为客户端发一段发送byte数据的代码给你瞅瞅,希望对你有帮助:
public class ksoap2webservice {
private static final String URL = "http://192.168.1.1/WebSite/Service.asmx";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String METHOD_NAME = "Test";
private static final String SOAP_ACTION = "http://tempuri.org/Test";
public static String callWebService() throws Exception{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("strIn", "123456");
byte []byValue = new byte[]{0,1,2,3,'a', 'b'};
String strByte = Base64.encode(byValue);
request.addProperty("request", strByte);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11 );
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
new MarshalBase64().register(envelope);
//发出请求
AndroidHttpTransport aht = new AndroidHttpTransport(URL);
//aht.debug = true;
aht.call(SOAP_ACTION, envelope);
SoapObject soResult = (SoapObject)envelope.bodyIn;
SoapPrimitive spRespose = (SoapPrimitive)soResult.getProperty("respose");
String getReturn = new String(Base64.decode(spRespose.toString()), "utf-8");
return getReturn;
}
}服务器端使用的是C#搞的一个简单WebService。Test方法如下:
[WebMethod]
public int Test(string strIn,byte[] request, out byte[] respose)
{
string s = "cccca连111接222222";
respose = System.Text.Encoding.UTF8.GetBytes(s); return respose.Length;
}其实图片神马的都可以读取到byte数组中来。