android webservice-android客户端开发调用webservice是出现错误

问题描述

android客户端开发调用webservice是出现错误

HttpTransportSE对象se.call(null,envelope);不能执行,导致activity直接stop
class MyButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//调用方法

            int num1 = 1;
            int num2 = 2;

String wsdlUrl = "http://10.3.9.1:8080/TestPort/doAddPort";
String webMethod = "Add";
String nameSpace = "http://test.com/";
String soapAction = nameSpace+webMethod;

            SoapObject request = new SoapObject(nameSpace,webMethod);
            request.addProperty("a", num1);
            request.addProperty("b", num2);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.bodyOut = request;

            HttpTransportSE se = new HttpTransportSE(wsdlUrl);
            try {
                se.call(soapAction,envelope);
                System.out.println("你好 手机话费了快速点击封id是否");
                if(envelope.getResponse()!= null){
                    Object result = envelope.getResponse();
                    Toast.makeText(MainActivity.this, "结果为:"+result, 2).show();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (XmlPullParserException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }

se.call(soapAction,envelope);里面写null或者soapAction都输不出“你好 手机话费了快速点击封id是否”

解决方案

第一最好能在子线程中调用se.call(soapAction,envelope);
第二可能是因为你的开发环境没有搭好,
第三可能是你没有加入网络应用权限
第四在MainIFest.xml中要取消对SDK版本的限制规定
具体可以参考我的博客
http://blog.csdn.net/qhrqhrqhr/article/details/32461007

时间: 2024-10-10 10:01:39

android webservice-android客户端开发调用webservice是出现错误的相关文章

Android开发调用WebService的方法示例

本文实例讲述了Android开发调用WebService的方法.分享给大家供大家参考,具体如下: WebService是一种基于SOAP协议的远程调用标准,通过webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方的SDK来调用WebService.PC版本的WEbservice客户端库非常丰富,例如Axis2,CXF等,但这些开发包对于Android系统过于庞大,也未必很容易移植到Andr

C/S结构客户端异步调用WebService

问题描述 C/S结构客户端(有多个客户端)调用服务端,请求后直接可以返回结果,但是该结果不是最终结果.后续服务端还会生成若干个状态信息.客户端如何才能拿到这些信息.想到几种解决方法,但都不完美.1.客户端通过异步WebService方式调用,拿到结果后,如果不是最终状态,再发起一个异步调用(缺点:占用连接)2.客户端轮询(缺点:占用资源)3.用户手动触发(缺点:用户体验不好) 解决方案 轮询的方案是最简单的,并且不容易出错,服务器可以返回客户端一个标记,然后客户端再拿这个标记去服务器询问是否有了

xfire生成的java客户端类调用webservice问题

问题描述 我用xfire+myEclipse生成的webservice客户端类,然后写一个java类调用webservice接口方法,把这个java类用dwr的方式给前台jsp调用,调用成功,但是一段时间(大概几分钟)不操作,即不发起请求,再发起请求时会有xfire的一个异常(异常如下),连接断开或者说超时,想问这是什么原因,要如何解决,xfire调用webservice接口时有方法设定连接时长么我的调用方式ServiceClientsc=newServiceClient();ServiceSo

在Android中调用WebService实例_Android

某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数据费时费电:二是流量贵如金那.我个人比较推荐的做法是使用Java或PHP等开发接口或者编写WebService进行数据库的增删该查,然后Android调用接口或者WebService进行数据的交互.本文就给大家讲解在Android中如何调用远程服务器端提供的WebService. 既然是调用WebS

在Android中调用WebService

某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查.我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数据费时费电:二是流量贵如金那.我个人比较推荐的做法是使用Java或PHP等开发接口或者编写WebService进行数据库的增删该查,然后Android调用接口或者WebService进行数据的交互.本文就给大家讲解在Android中如何调用远程服务器端提供的WebService.既然是调用WebSe

WebService大讲堂之Axis2(8):异步调用WebService

上一篇:WebService大讲堂之Axis2(7):将Spring的装配JavaBean发布成WebService 在前面几篇文章中都是使用同步方式来调用WebService.也就是说,如果被调用的WebService方法长 时间不返回,客户端将一直被阻塞,直到该方法返回为止.使用同步方法来调用WebService虽然很直观, 但当WebService方法由于各种原因需要很长时间才能返回的话,就会使客户端程序一直处于等待状态,这 样用户是无法忍受的. 当然,我们很容易就可以想到解决问题的方法,

调用WebService出错:The underlying connection was closed: An unexpected error occurred on a send.

问题描述 具体情况如下:现在客互端(c#开发)调用WebService时候,报错:2008022700:20:48CRecordUpdate::RecordUpdateThreaderror:System.Net.WebException:Theunderlyingconnectionwasclosed:Anunexpectederroroccurredonasend.atSystem.Web.Services.Protocols.WebClientProtocol.GetWebResponse

.net 2008 调用webservice服务出错

问题描述 DimobjInsuAsNewServiceReference3.outwebserviceClient在这个地方报错!在ServiceModel客户端配置部分中,找不到引用协定"ServiceReference3.outwebservice"的默认终结点元素.这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素.请大家帮我看看这是什么原因,我在服务引用的时候是可以找到服务的! 解决方案 解决方案二:删除这个Web引用,重新生成一下.解决

js跨域调用WebService的简单实例_AJAX相关

步骤1.   在web.config中的system.web节点里加入 <!--此节点可允许脚本跨域调用webservice--> <webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols> </webServices> <!--此节点可允许脚本跨域调用webservic