调用 web service 报错:java.lang.NullPointerException: Attempt to invoke virtual meth

MirrorN 2018-04-09 05:05:47
这个错快把我逼疯了
E/AndroidRuntime: FATAL EXCEPTION: Thread-4
Process: com.example.a13907.activitytest, PID: 12338
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object org.ksoap2.serialization.SoapObject.getProperty(int)' on a null object reference
at GetService.GetUser.getUserInfo(GetUser.java:31)
at com.example.a13907.activitytest.ShowActivity$1.run(ShowActivity.java:34)
at java.lang.Thread.run(Thread.java:764)


网上也看了一些资料,感觉不太一样,请问有遇到过这样错误的么??就是一个本地写的简单web service
public String getUserInfo(String id) throws SoapFault {
String wsdluri = "http://localhost:8080/axis2/services/OrderService?wsdl";
String namespace = "http://publish.canmanser.wy.team/";
String methodname = "GetUserInfo";
String soapaction = "http://publish.canmanser.wy.team/GetUserInfo";


SoapObject request = new SoapObject(namespace, methodname);
request.addProperty("cardId","1024");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapSerializationEnvelope.VER12);
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransportSE = new HttpTransportSE(wsdluri);
try{
httpTransportSE.call(null, envelope); //调用
}catch(Exception e){
e.printStackTrace();
}
SoapObject object = (SoapObject) envelope.bodyIn;
String result = object.getProperty(0).toString();
return result;

}


debug了一下发现envelope.bodyIn一直是空,也搞不清楚那个地方出错误了,求教各位有没有类似问题的解决方法??
有类似的空指针异常有人说是要开另外的线程来调用,还是不行。。
        new Thread(new Runnable() {
@Override
public void run() {
GetUser gu = new GetUser();
try {
name.setText(gu.getUserInfo("1024"));
} catch (SoapFault soapFault) {
soapFault.printStackTrace();
}
}
}).start();

拜托了!!!
...全文
1543 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2018-04-11
  • 打赏
  • 举报
回复
不同版本就是这么神奇,哈哈~
MirrorN 2018-04-11
  • 打赏
  • 举报
回复
引用 3 楼 dalor 的回复:
不同版本就是这么神奇,哈哈~
是啊,要不是突然想到。。。我觉得这辈子都想不出来了哈哈
MirrorN 2018-04-10
  • 打赏
  • 举报
回复
难道是CSDN的buff么,问题解决了哈哈,除了要注意下现在版本的Android要另开一个线程来获取web service之外,还要注意一下ksoap的版本,这个是真的坑人,还以为官网的是最新的版本,其实是比较老的一个版本了。现在上面放的是2.4,我用的是3.5的版本,分享给大家:链接:https://pan.baidu.com/s/1-3GIPGiYsGAT7kJMT9Tw-Q 密码:mhji
MirrorN 2018-04-09
  • 打赏
  • 举报
回复


这是wsdl文档,拜托各位了,谢谢谢谢

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧