Android调用WebService的时候出现问题 5C

我按照网上代码写出来的调用WebService的程序,总是返回'服务器无法处理请求。-->未将对象应用设置到对象实例'

我的代码如下:
public void other() {

// 命名空间

String nameSpace = " www.webxml.com.cn/";
// 调用的方法名称

String methodName = "getSupportCity";

// EndPoint

String endPoint = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";

// SOAP Action

String soapAction = "http://WebXml.com.cn/getSupportCity";

    HttpTransportSE transport = new HttpTransportSE(endPoint);

    // 指定WebService的命名空间和调用的方法名  
    SoapObject rpc = new SoapObject(nameSpace, methodName);  

    rpc.addProperty("byProvinceName", "重庆");   

    // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本  
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);  

    // 设置是否调用的是dotNet开发的WebService  
    envelope.dotNet = true;  
    transport.debug = true;
    // 等价于envelope.bodyOut = rpc;  
    envelope.setOutputSoapObject(rpc);  


    try {  
        // 调用WebService  
        transport.call(soapAction, envelope);  
    } catch (Exception e) {  
        e.printStackTrace();  
    }  


    // 获取返回的数据  
    Object object = envelope.bodyIn;   
    if(object==null){
        Log.i(TAG, "return object is null!");
        return;
    }
    if(object instanceof SoapFault){
        Log.i(TAG, "SoapFault refult is :"+  object.toString());
        return;
    }else if(object instanceof SoapObject){
          // 获取返回的结果  
        Log.i(TAG, "SoapObject refult is :"+  object.toString());
    }


} 


    ----------------------------------------------------
    返回的logcat打印如下:
    01-22 16:43:34.966: I/MainActivity(1898): SoapFault refult is :SoapFault - faultcode: 'soap:Server' faultstring: '服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。' faultactor: 'null' detail: org.kxml2.kdom.Node@4228be08

我调用了很多webservice接口,结果都是返回这个,应该不是服务器的问题,大神求指教!!

3个回答

直接建立一个java工程,然后测试,
ok后在android测试

你的服务器的web service是否正确处理,然后就是你请求的格式是否正确。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android 调用 webservice 返回字符串想在listview中显示。出现问题……

下文是 主查询模块 Query_xiaofeijilu.java, ``` package com.gongneng.chaxun; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.view.View; import android.widget.Button; import android.widget.ListView; import android.widget.SimpleAdapter; import org.json.JSONException; import org.ksoap2.SoapEnvelope; import org.ksoap2.SoapFault; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import org.xmlpull.v1.XmlPullParserException; import com.constant.Constant; import com.example.kehuduan.R; public class Query_xiaofeijilu extends Activity { private Button okButton; private ListView listview; private Handler handler = null; private SimpleAdapter adapter; private List<Map<String,Object>> muldata; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.query_xiaofeijilu); okButton = (Button) this.findViewById(R.id.xiaofeijiluchaxun); listview = (ListView) this.findViewById(R.id.listxiaofeijilu); handler = new Handler(); okButton.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { new Thread() { @Override public void run() { try { try { getWebservice(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); } }); } public void getWebservice() throws InterruptedException, IOException, XmlPullParserException, JSONException { // 创建属于主线程的handler HttpTransportSE ht = new HttpTransportSE(Constant.SERVICE_URL); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); SoapObject request = new SoapObject(Constant.SERVICE_NS,Constant.QueryAction_chaxunxiaofeijilu); request.addProperty("aac999", "2200000"); envelope.bodyOut = request;// 往出走的数据Out,也就是服务器的传入值 try { ht.call(null, envelope); Object object = (Object) envelope.getResponse();// 就用Object来取 muldata = new ArrayList<Map<String,Object>>(); if (envelope.getResponse() != null) { String a = object.toString(); String b = a.replace("[","");//变[为空 String c = b.replace("]",""); String d = c.replace("{",""); String e = d.replace("}",""); String f = e; // String[] arr = c.split(",");//将字符串转为数组,以,为分割 Map<String, Object> aa = transStringToMap(f); Iterator<?> iter = aa.entrySet().iterator(); while (iter.hasNext()) { Map<String,Object> map=new HashMap<String, Object>(); Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); map.put(key.toString(),val.toString()); // map.put("text", "测试文本:"); muldata.add(map); } adapter = buildListAdapter(this, muldata); new Thread() { public void run() { handler.post(runnableUi); } }.start(); return; } else { System.out.println("没有返回值"); return; } } catch (SoapFault e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 构建adapter. public SimpleAdapter buildListAdapter(Context context,List<Map<String, Object>> data) { SimpleAdapter adapter = new SimpleAdapter(context, data, R.layout.chaxunxiaofeijilulist, new String[] { "AKB021","AKE038","KS","JS","ROWNUM" }, new int[] { R.id.akb021, R.id.ake038,R.id.ks,R.id.js ,R.id.rownum}); return adapter; } // 构建Runnable对象,在runnable中更新界面 // 更新页面list 需要单独写个线程 Runnable runnableUi = new Runnable() { @Override public void run() { // 更新界面 listview.setAdapter(adapter); Looper.loop(); } }; //=================================== //字符串转MAP public static Map<String, Object> transStringToMap(String mapString){ Map<String, Object> map = new HashMap<String, Object>(); java.util.StringTokenizer items; for(StringTokenizer entrys = new StringTokenizer(mapString, ","); entrys.hasMoreTokens(); map.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())).toString() : null)) items = new StringTokenizer(entrys.nextToken(), ":"); return map; } } ``` 下文是list页面 ``` <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/child" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <!-- 若想隐藏id加入此属性: android:visibility="gone",这样做有点类似于Html中hidden域 android:background="#E3D25E" --> <TextView android:id="@+id/akb021" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#6633FF" android:text=" akb021 " /> <TextView android:id="@+id/ake038" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" ake038 "/> <TextView android:id="@+id/ks" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" ks "/> <TextView android:id="@+id/js" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" js "/> <TextView android:id="@+id/rownum" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" rownum "/> </LinearLayout> ``` 主显示页面 ``` <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:id="@+id/editTextShenfenzheng" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/listxiaofeijilu" android:layout_alignParentTop="true" android:layout_alignRight="@+id/listxiaofeijilu" android:ems="10" android:hint="@string/shenfenzheng" > </EditText> <Button android:id="@+id/chongzhi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:text="@string/chongzhi" /> <ListView android:id="@+id/listxiaofeijilu" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@+id/xiaofeijiluchaxun" android:layout_alignRight="@+id/chongzhi" android:layout_below="@+id/editTextShenfenzheng" > </ListView> <Button android:id="@+id/xiaofeijiluchaxun" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/chongzhi" android:layout_alignBottom="@+id/chongzhi" android:layout_toLeftOf="@+id/chongzhi" android:text="@string/xiaofeijilu" /> </RelativeLayout> ``` 但是现在只把行数显示出来了,里边没有值,附图: ![图片说明](https://img-ask.csdn.net/upload/201504/18/1429357099_489390.png) 这个问题,困扰了我好几天了,烦请各位好友,帮忙出出招,在此写过了!!!

android 调用webservice出现错误

![图片说明](https://img-ask.csdn.net/upload/201706/21/1498040359_428187.png) 新手第一次做,在网上找的资料,报的这个错误,不知道是什么错误哇 求大神指引一下

Android程序无法调用webservice服务

先描述一下问题: 在VS2010上用C#写webservice,里边就一个方法HelloWorld,返回string类型webservice,然后发布到iis上;再用eclipse开发的android程序,真机调试,不能访问再自己电脑上用iis发布的这个webservice。 补充:Android程序没问题,一样的程序,改个URL地址就能访问别人电脑发布的webservice;自己发布的webservice在自己电脑上和别人电脑上都能访问,也能调用。就是用手机真机调试Android程序的时候出错,客户端运行异常,直接关了。 一直找不到原因,重装系统了,然后用相同的步骤,相同的方法,能访问自己电脑上发布的webservice了,后来360提示修复漏洞,关于iis信息泄露的,手贱修复了一下,程序就再也运行不了了。后来我把修复的漏洞卸载,还是不行!求助大神,这个问题困扰了我一个礼拜了!

android调用webservice的传至问题

webservice端(地址:http://qingfeng-bbs.oicp.net:61/TCLYWebService.asmx) ================================================== using System; using System.Collections.Generic; using System.Web; using System.Web.Services; using TCLYWebService.Bean; using TCLYWebService.DB; using System.Web.Services.Protocols; namespace TCLYWebService { /// <summary> /// TCLYWebService 的摘要说明 /// </summary> [WebService(Namespace = "http://qingfeng-bbs.oicp.net:61/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class TCLYWebService : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public string InsertJd(string guojia, string shengji, string shiji, string xianji, string jdindex, string jdName, string locationX, string locationY) { DB.DB d = new DB.DB(); //JD jd = new JD(); //jd.Guojia = guojia; //jd.Shengji = shengji; //jd.Shiji = shiji; //jd.Xianji = xianji; //jd.Jdindex = jdindex; //jd.JdName = jdName; //jd.LocationX = Double.Parse(locationX); //jd.LocationY = Double.Parse(locationY); //string sql = string.Format("insert jd values('{0}','{1}','{2}','{3}','{4}','{5}',{6},{7})", jd.Guojia, jd.Shengji, jd.Shiji, jd.Xianji, jd.Jdindex, jd.JdName, jd.LocationX, jd.LocationY); string sql = string.Format("insert jd values('{0}','{1}','{2}','{3}','{4}','{5}',{6},{7})", guojia, shengji, shiji, xianji, jdindex, jdName, locationX, locationY); return d.inupdelData(sql); } } } ``` ``` android端传参数调用 ================================================== private void initBtnListener() { // TODO Auto-generated method stub btninsertjd.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub // 执行webservice后返回的结果 final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub if (msg.what == msg_suc) { SoapObject result = (SoapObject) msg.obj; // JSONObject obj=new // JSONObject(result.getProperty(0).toString()); new AlertDialog.Builder(MainActivity.this).setTitle("提示") .setMessage(result.getProperty(0).toString()).setPositiveButton("OK", null).show(); } } }; // 执行webService new Thread(new Runnable() { public void run() { // 命名空间 String nameSpace = "http://qingfeng-bbs.oicp.net:61"; // 调用的方法名称 // String methodName = "InsertJd"; String methodName = "HelloWord"; // EndPoint String endPoint = "http://qingfeng-bbs.oicp.net:61/TCLYWebService.asmx"; // SOAP Action // String soapAction = "http://qingfeng-bbs.oicp.net:61/InsertJd"; String soapAction = "http://qingfeng-bbs.oicp.net:61/HelloWord"; // 实例化SoapObject对象 SoapObject soapObject = new SoapObject(nameSpace, methodName); // soapObject.addAttribute("guojia", "中国"); // soapObject.addAttribute("shengji", "云南"); // soapObject.addAttribute("shiji", "保山"); // soapObject.addAttribute("xianji", "腾冲"); // soapObject.addAttribute("jdindex", "银杏村"); // soapObject.addAttribute("jdName", "银杏"); // soapObject.addAttribute("locationX", "45.12331"); // soapObject.addAttribute("locationY", "564.122313"); // soapObject.addProperty("guojia", "中国"); // soapObject.addProperty("shengji", "云南"); // soapObject.addProperty("shiji", "保山"); // soapObject.addProperty("xianji", "腾冲"); // soapObject.addProperty("jdindex", "银杏村"); // soapObject.addProperty("jdName", "银杏"); // soapObject.addProperty("locationX", "45.12331"); // soapObject.addProperty("locationY", "564.122313"); // JSONObject req = new JSONObject(); // try { // req.accumulate("guojia", "中国"); // req.accumulate("shengji", "云南"); // req.accumulate("shiji", "保山"); // req.accumulate("xianji", "腾冲"); // req.accumulate("jdindex", "银杏"); // req.accumulate("jdName", "银杏村"); // req.accumulate("locationX", "45.12331"); // req.accumulate("locationY", "564.122313"); // } catch (JSONException e1) { // // TODO Auto-generated catch block // e1.printStackTrace(); // } // soapObject.addProperty("parameters", req.toString()); // 使用soap1.1协议创建Envelop对象 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12); envelope.bodyOut = soapObject; envelope.dotNet = true; // 等价于envelope.bodyOut = soapObject; // envelope.setOutputSoapObject(soapObject); HttpTransportSE ht = new HttpTransportSE(endPoint); try { ht.call(soapAction, envelope); if (envelope.getResponse() != null) { // 获取服务器响应返回的soap消息 SoapObject result = (SoapObject) envelope.bodyIn; Message msg = new Message(); msg.obj = result; msg.what = msg_suc; handler.sendMessage(msg); } } catch (Exception e) { e.printStackTrace(); } } }).start(); // new AlertDialog.Builder(MainActivity.this) // .setTitle("提示") // .setMessage("执行了") // .setPositiveButton("OK", null) // .show(); } }); } ``` ```

android webservice接口调用问题

public String login(String uid ,String pwd){ String result=null; // 设置需调用WebService接口需要传入的两个参数mobileCode、userId rpc.addProperty("uid", uid); rpc.addProperty("pwd",pwd); // 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); envelope.bodyOut = rpc; // 等价于envelope.bodyOut = rpc; envelope.setOutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(url); try { // 调用WebService transport.call(null, envelope); result = envelope.getResponse().toString(); } catch (Exception e) { e.printStackTrace(); } // 获取返回的数据 // SoapObject object = (SoapObject) envelope.bodyIn; // String result = object.getProperty("getMobileCodeInfoResult").toString(); return result; } ``` ``` 在进行访问的时候 transport.call(null, envelope); 报错。 百度说是传值方式不对,,不知道是啥原因

android studio 调用 webservice 莫名闪退

编译的APP,电机按钮就会闪退! 下面是代码,求助看看有没有问题! ``` package com.zt.lesson2_4; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import android.widget.Button; import android.widget.EditText; import android.view.View.OnClickListener; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import android.os.AsyncTask; import java.util.regex.Matcher; import java.util.regex.Pattern; public class MainActivity extends AppCompatActivity { private String result1; private TextView textView1; private TextView textView2; private TextView textView3; private EditText editText1; private Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView1=(TextView)findViewById(R.id.textView2 ); textView2=(TextView)findViewById(R.id.textView4 ); textView3=(TextView)findViewById(R.id.textView6 ); editText1=(EditText)findViewById(R.id.editText); button1=(Button)findViewById(R.id.button); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { QueryTask newQuery=new QueryTask(); newQuery.execute(editText1.getText().toString()); } }); } private class QueryTask extends AsyncTask<String,Integer,String>{ @Override protected String doInBackground(String... params) { try{ getRemoteInfo(params[0]); } catch (Exception e){ e.printStackTrace(); } return null; } @Override protected void onPostExecute(String result) { textView3.setText("返回数据是:\n\r" + result1); Pattern pattern1 = Pattern.compile("string=(.+?);"); Matcher matcher1 = pattern1.matcher(result1); int j = 0; String[] strings = new String[5]; while (matcher1.find()) { strings[j] = matcher1.group(); j = j + 1; } textView1.setText(strings[3].substring(7)); textView2.setText(strings[1].substring(7)); } } private void getRemoteInfo(String en_word) throws Exception{ String Target_URI = "http://fy.webxml.com.cn/webservices/EnglishChinese.asmx"; String namespace = "http://WebXml.com.cn/";//namespace String methodName = "TranslatorString";//要调用的方法名称TranslatorString SoapObject request = new SoapObject(namespace, methodName); // 设置需调用WebService接口需要传入的参数wordKey request.addProperty("wordKey", en_word); //创建SoapSerializationEnvelope 对象,同时指定soap版本号 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapSerializationEnvelope.VER12); envelope.bodyOut = request;//由于是发送请求,所以是设置bodyOut envelope.dotNet = true; HttpTransportSE httpTransportSE = new HttpTransportSE(Target_URI); httpTransportSE.call(null, envelope);//调用 // 获取返回的数据 SoapObject object = (SoapObject) envelope.bodyIn; // 获取返回的结果 result1 = object.getProperty(0).toString(); } } ```

关于android 调用 .net webservice

各位大神好,我是自学安卓,我按照回答里二楼的网址里的方法,可惜出了错误,我不知道该怎么改。 主函数如下: public class MainActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); OnClickListener listener = new OnClickListener() { public void onClick(View v) { try { DBUtil dbUtil=new DBUtil(); dbUtil.IsUserNameExist(); } catch (Exception e) {} }}; Button button = (Button) findViewById(R.id.query_btn); button.setOnClickListener(listener); } } 然后调用DBUtil这个类: public class DBUtil { private ArrayList<String> arrayList = new ArrayList<String>(); private ArrayList<String> brrayList = new ArrayList<String>(); private GetWebService gws = new GetWebService(); public boolean IsUserNameExist() { arrayList.clear(); brrayList.clear(); return gws.GetWebService1("GetCountry", arrayList, brrayList); } } 然后就是webservice public class GetWebService { private String result; //Except method "getAllInfo" and "getAllTestData" public boolean GetWebService1(String methodName, ArrayList<String> Parameters, ArrayList<String> ParValues) { //命名空间 String nameSpace = "http://www.shijinet.com.cn/kunlun/kws/1.1/"; //EndPoint String endPoint = "http://http://10.0.2.2:8082/kws/InformationService.asmx"; //SOAP Action final String soapAction = nameSpace + methodName; final HttpTransportSE transport = new HttpTransportSE(endPoint); transport.debug = true; //指定WebService的命名空间和调用的方法名 SoapObject rpc = new SoapObject(nameSpace, methodName); for (int i = 0; i < Parameters.size(); i++) { rpc.addProperty(Parameters.get(i), ParValues.get(i)); } //生成调用WebService方法的SOAP请求信息,并指定SOAP的版本(10、11或者12) final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = transport; //设置是否调用的是.Net开发的WebService envelope.dotNet = true; envelope.setOutputSoapObject(rpc); //android 4.0以后的版本在主程中不允许联网 Thread thread; thread = new Thread() { public void run() { try { //调用WebService transport.call(soapAction, envelope); SoapObject object = (SoapObject) envelope.bodyIn;//获取返回值,并封装成SoapObject result = object.getProperty(0).toString(); } catch (IOException e) { e.printStackTrace(); } catch (XmlPullParserException e) { e.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } } }; thread.start(); try { thread.join();//等待该子程结束 } catch (InterruptedException e) { e.printStackTrace(); } if (result.equals("true")) { return true; } else { return false; } } } 出错点就在走到webservice方法里面的 //android 4.0以后的版本在主程中不允许联网 Thread thread; thread = new Thread() 这个地方的时候,没有进去里面,直接跳到了 thread.start(); 这个地方 实在搞不出来了,特来求教,谢谢各位

关于Android调用webservice后SoapObject数据解析问题

![图片说明](https://img-ask.csdn.net/upload/201811/22/1542877739_462964.png) 现在的问题是我能拿到所有数据,就想知道这两个不同的表格怎么各拿各的数据

Android中调用webService,如何获取其返回的Dataset中的数据

调用航班信息获取的webservice(http://webservice.webxml.com.cn/webservices/DomesticAirline.asmx?op=getDomesticAirlinesTime) 其返回数据:DataSet,Table(0)结构为 Item(Company)航空公司、Item(AirlineCode)航班号、Item(StartDrome)出发机场、Item(ArriveDrome)到达机场、Item(StartTime)出发时间、Item(ArriveTime)到达时间、Item(Mode)机型、Item(AirlineStop)经停、Item(Week)飞行周期(星期),如何取出对应项的值? [b]问题补充:[/b] 在android手机系统平台下,获取信息

xutils如何调用webservice接口

xutils3.0 如何调用webservice接口 请大神赐教

关于app端ajax请求调用webservice报错的问题

总体来讲,事情是很复杂的。 接手一个mui框架下的app,去调用布在服务器上的webservice接口,布置给我的任务是新增几个接口,并更新一些接口。(app是在互联网上开发,接口-接口用C#编写-等都是在内网,也布在内网,webapi为asp.net开发,布在外网) 从app到真正的接口,中间要跳三下:app端用ajax-post请求去调用webapi; webapi去调用一个为webservice的跳板(跳板webservice); 然后,这个跳板webservice再去调用真正写有接口的webservice。 过程就是这样的,我把两个webservice接口布好,webapi也布好。开始调用测试。 调用结果如下: 1.原来的接口我没有动,调用起来毫无影响,正常; 2.修改的接口,返回的response实体我添加了字段,调用正常,新增字段返回正常; 3.新增的接口,调用报错,我在webapi,跳板webservice、webservice都添加了trycatch,去确定问题所在。最后是在webapi位置报错,并且返回:“服务器未能识别HTTP头SOAPAction的值:http://tempuri.org/(webapi接口名)。” 在网上搜索了很多,也试了很多,包括在webservice与跳板webservice的类中添加字段“[SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement)] “,也是没有效果。 现在所有的的问题都聚焦在webapi上。最令我疑惑的是,但从controller的代码来看,没有丝毫差别,而且使用wsdl获取的websevice类也都是自动生成的,按照道理来讲,应该是不会报错的,真的是怪异。 也尝试过本地调用本地的webapi,再到本地的跳板Webservice,再到webservice,但是本地调用webapi又出现了跨域、405等错误,也无法复现app调用webapi的真实场景。 本地也使用form小程序测试调用跳板webservice,再到正式webservice,这个过程也是没有问题的。所有的接口都可以正常返回值。 我最终猜测可能是webapi的问题,但是知道是哪里的问题了,也是不清楚问题究竟出现在哪里,网上的解决办法大多停留在webservice上,但是经过测试问题并不再webservice上。同时作为毕业才一年的新晋程序员,有太多东西没有接触过,单位也是什么都让我去做,网页、联调、mq,app,前端、后端,杂而不精,知其然不知其所以然。这个app项目又被单位抛给我,也没有单位大佬的帮助,去询问也是”自己看代码“,有些绝望,而且项目又临近验收,都有点想要撂挑子了。当然也是自己想要把自己手下的程序都写得好好的这一强迫症一直在督促着我不放弃。但是这次真的不会了。。。 希望大家能帮我看看,问题可能会是哪些方面,我也好再与大家讨论,修改代码,现在真的是和没头苍蝇一样乱撞,没有方向的感觉很虚无。。。

请问各位大大,你们Android调用WebService用什么框架?

谷歌官方有ksoap,但是感觉过时了,上次项目用的HttpClient也不提倡了,所以不知道该用什么技术实用一点

安卓端调用WebService传参,服务端接收不了数据

代码如下: public class MainActivity extends Activity { private static final String NAMESPACE="http://service.ams.com/"; private static final String URL="http://220.231.228.87:8080/InstallWebService/intallService"; private static final String METHOD_NAME="installDevice"; private SoapObject detail; private TextView message; private Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); message=(TextView) findViewById(R.id.message); this.findViewById(R.id.button).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { new Thread(){ public void run() { installtion(); }; }.start(); } }); handler=new Handler(){ public void handleMessage(Message msg) { message.setText("从webService获取的数据:"+(String)msg.obj); }; }; } protected void installtion() { SoapObject rpc = new SoapObject(NAMESPACE,METHOD_NAME); String json="{"+""; json+="\"userId\""+":"+"\""+207+"\""+","; json+="\"loginId\""+":"+"\""+"AHAHAHAHAA"+"\""+","; json+="\"deviceId\""+":"+47397+","; json+="\"groupId\""+":"+559+","; json+="\"Time\""+":"+"\""+new SimpleDateFormat().format(new Date())+"\""+","; json+="\"brand\""+":"+"\"宝马\""+","; json+="\"model\""+":"+"\"R1\""+","; json+="\"color\""+":"+"\"黑\""+","; json+="\"carNum\""+":"+"\"粤B88888\""+","; json+="\"carName\""+":"+"\"宝马\""+","; json+="\"connectionType\""+":"+"1"+","; json+="\"oilPump\""+":"+"1"+","; json+="\"VDD\""+":"+"\"黑色\""+","; json+="\"GND\""+":"+"\"黑色\""+","; json+="\"deviceImgUrl\""+":"+"\"\""+","; json+="\"connectionIntallImgUrl\""+":"+"\"\""+","; json+="\"obligateUrl\""+":"+"\"\""+","; json+="\"InstallPosition\""+":"+"\"车头\""+","; json+="\"DBServer\""+":"+1+"}"; JSONObject myjson = null; try { myjson=new JSONObject(json); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } rpc.addProperty("arg0",myjson.toString()); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = rpc; // 设置是否调用的是dotNet开发的WebService envelope.dotNet = true; // 等价于envelope.bodyOut = rpc; envelope.setOutputSoapObject(rpc); HttpTransportSE transport = new HttpTransportSE(URL); try { // 调用WebService transport.call(NAMESPACE+METHOD_NAME, envelope); } catch (Exception e) { e.printStackTrace(); } // 获取返回的数据 SoapObject object = (SoapObject) envelope.bodyIn; // 获取返回的结果 String result = object.getProperty(0).toString(); Message msg=new Message(); msg.obj=result; handler.sendMessage(msg); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } 调用成功了,不过传参传不了,哪位大神帮忙看下,谢谢了

Android使用ksoap2调用本地webservice一直出现问题

D/NetworkSecurityConfig: No Network Security Config specified, using platform default W/System.err: java.io.IOException: HTTP request failed, HTTP status: 405 W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195) W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116) W/System.err: at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111) W/System.err: at com.mycompany.myfirstapp.webserviceclient.Visitor4Activity.add(Visitor4Activity.java:113) W/System.err: at com.mycompany.myfirstapp.webserviceclient.Visitor4Activity$QueryAddressTask.doInBackground(Visitor4Activity.java:135) W/System.err: at com.mycompany.myfirstapp.webserviceclient.Visitor4Activity$QueryAddressTask.doInBackground(Visitor4Activity.java:129) W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:304) W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237) W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) W/System.err: at java.lang.Thread.run(Thread.java:761) 访问网络权限已加,模拟器可以访问网络。

android 调用webservice 报错SoapFault - faultcode: '

![代码](https://img-ask.csdn.net/upload/201706/22/1498094840_167388.png)![报错](https://img-ask.csdn.net/upload/201706/22/1498094905_452784.png) 新手刚入门,不知道怎么办

android连接c#webservice问题

我是做android的,现在公司要我把后台也做了,可是我对c#webservice一窍不通,现写了一个webservice尝试与android端交互遇到了点问题,不知道是android错了还是webservice错了请各位大神指教![![![图片说明](https://img-ask.csdn.net/upload/201605/01/1462109088_420554.png)图片说明](https://img-ask.csdn.net/upload/201605/01/1462109076_935002.png)图片说明](https://img-ask.csdn.net/upload/201605/01/1462109065_51803.png)运行到HttpResponse httpResponse = client.execute(httpPost);时提示说ConnectTimeoutExecption:Connect to/192.168.2.101:80time out

Android用ksoap2调用Webservice怎么传递List集合参数?

最近用到ksoap2调用Webservice获取数据,需要传递一些参数过去,除了基本类型的参数,还有List集合参数,各种试都报错,求教怎么传递List集合参数?

android 访问webservice获取返回结果

// 访问webservice WebServiceUtils.callWebService(WebServiceUtils.LOCAL_SERVER_URL, "uploadAttendance", pro, new WebServiceCallBack() { @Override public void callBack(SoapObject result) { ProgressDialogUtils.dismissProgressDialog(); if (result != null) { //获取返回结果 if (result.getPropertyAsString(0) .equals("true")) { // System.out.println("result:" // + result.getPropertyAsString(0)); tmpresult = true; } else { // Toast.makeText(getActivity(), "上传失败!", // Toast.LENGTH_SHORT).show(); tmpresult = false; } } else { // Toast.makeText(getActivity(), "连接服务器失败!", // Toast.LENGTH_SHORT).show(); tmpresult = false; } // runingTheadNum.countDown(); } }); ``` ``` 该方法用来访问webservice,在回调函数中处理webservice返回的结果,我现在有两个问题。1、需要在方法外获得回调函数中取得的webservice返回的结果,但是如图显示,语法都无法通过。2、访问webservice是子线程操作。我想主线程能在获得子线程处理结果后再继续往下运行

Android代码调用mysql数据库,怎样调用,webservice方法调用怎么调用

Android客户端调用远程动态mysql数据库,要求能向里面添加数据,并能把数据库中 的数据显示到Android代码客户端,新手,希望能给点给点demo参考一下!

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

如何在虚拟机VM上使用串口

在系统内核开发中,经常会用到串口调试,利用VMware的Virtual Machine更是为调试系统内核如虎添翼。那么怎么搭建串口调试环境呢?因为最近工作涉及到这方面,利用强大的google搜索和自己

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:csdn590)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

C++语言基础视频教程

C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。

北京师范大学信息科学与技术学院笔试10复试真题

北京师范大学信息科学与技术学院笔试,可以更好的让你了解北师大该学院的复试内容,获得更好的成绩。

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

软件测试2小时入门

本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。

Tomcat服务器下载、安装、配置环境变量教程(超详细)

未经我的允许,请不要转载我的文章,在此郑重声明!!! 请先配置安装好Java的环境,若没有安装,请参照我博客上的步骤进行安装! 安装Java环境教程https://blog.csdn.net/qq_40881680/article/details/83585542 Tomcat部署Web项目(一)·内嵌https://blog.csdn.net/qq_40881680/article/d...

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

[已解决]踩过的坑之mysql连接报“Communications link failure”错误

目录 前言 第一种方法: 第二种方法 第三种方法(适用于项目和数据库在同一台服务器) 第四种方法 第五种方法(项目和数据库不在同一台服务器) 总结 前言 先给大家简述一下我的坑吧,(我用的是mysql,至于oracle有没有这样的问题,有心的小伙伴们可以测试一下哈), 在自己做个javaweb测试项目的时候,因为买的是云服务器,所以数据库连接的是用ip地址,用IDE开发好...

人工智能-计算机视觉实战之路(必备算法+深度学习+项目实战)

系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

机器学习初学者必会的案例精讲

通过六个实际的编码项目,带领同学入门人工智能。这些项目涉及机器学习(回归,分类,聚类),深度学习(神经网络),底层数学算法,Weka数据挖掘,利用Git开源项目实战等。

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

DirectX修复工具V4.0增强版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复

期末考试评分标准的数学模型

大学期末考试与高中的考试存在很大的不同之处,大学的期末考试成绩是主要分为两个部分:平时成绩和期末考试成绩。平时成绩和期末考试成绩总分一般为一百分,然而平时成绩与期末考试成绩所占的比例不同会导致出现不同

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

c语言项目开发实例

十个c语言案例 (1)贪吃蛇 (2)五子棋游戏 (3)电话薄管理系统 (4)计算器 (5)万年历 (6)电子表 (7)客户端和服务器通信 (8)潜艇大战游戏 (9)鼠标器程序 (10)手机通讯录系统

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问