首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BufferedInputStream已关闭

BufferedInputStream已关闭
EN

Stack Overflow用户
提问于 2017-05-16 18:46:29
回答 1查看 441关注 0票数 0

我正在开发一个android应用程序,其中包含一个在登录页面忘记密码的概念。我正在对此应用程序使用Soap Web服务。

这是我的代码:

代码语言:javascript
复制
public void fncCallForgotPasswordService() {
        String SOAP_ACTION = "http://example.org/ForgotPWD";
        String METHOD_NAME = "ForgotPWD";;
        String NAMESPACE = "http://example.org/";
        String URL = "https://in.xyz.com/abcd.example/MethodExample.asmx";

        try {
            SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
            Request.addProperty("UID", strUserID);
            Request.addProperty("CID", strCompID);

            SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            soapEnvelope.dotNet = true;
            soapEnvelope.setOutputSoapObject(Request);

            HttpTransportSE transport = new HttpTransportSE(URL);
            transport.call(SOAP_ACTION, soapEnvelope);
            resultString = (SoapObject) soapEnvelope.getResponse();
            resultString = (SoapObject) resultString.getProperty("Data");
            resultString = (SoapObject) resultString.getProperty("Row");
            strMessage = resultString.getPropertyAsString("Message");

            if (resultString != null) {
                Log.i("Message", strMessage);
            }

            Log.i("Result", "Result Celsius: " + resultString);
        } catch (Exception ex) {
            Log.e("Error", "Error: " + ex.getMessage());
        }
    }

web服务提供了新密码,但问题是我得到了一个异常,它说

org.xmlpull.v1.XmlPullParserException: Invalid stream or encoding: java.io.IOException: BufferedInputStream is closed (position:START_DOCUMENT null@1:1) caused by: java.io.IOException: BufferedInputStream is closed

首次调用web服务时,SoapObject 'resultString‘显示为null,并显示上述异常。但当我连续第二次或第三次尝试时,没有抛出异常。只有在第一次调用忘记密码web服务时,它才会抛出上述异常。

此外,无论是否有例外,我的手机上都会收到新密码。

但我关心的是为什么会发生这种异常。

请帮帮我!

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-05-16 19:18:43

尝试自定义超时值,而不是非标准超时值:

代码语言:javascript
复制
HttpTransportSE androidHttpTransport = new HttpTransportSE(this.url,this.connectionTimeout)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43999311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档