'无法访问已处置的对象。对象名'oracle connection'oracle.DataAccess“

时间:2013-01-06 19:45:20

标签: c# android oracle11g ksoap2 android-ksoap2

我正在创建一个Android应用程序,因为我使用kso​​ap2来调用.net c #web服务, 我的Android应用程序向Web服务发送一个字符串,该服务从oracle数据库中提取用户详细信息并返回串联的响应。

我通常能够正确检索回复。然后突然服务器开始向我抛出以下错误“无法访问已处置的对象。对象名称'oracle连接'oracle.DataAccess”,我无法访问Web服务器上的Web服务。

我不知道为什么会这样。有时我突然通过相同的代码得到正确的响应而没有任何改变。 我的通话方法如下:

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;


public class CallSoap 
{
    public final String SOAP_ACTION = "http://tempuri.org/"+method_name;

    public  final String OPERATION_NAME = method_name;

    public  final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";

    public  final String SOAP_ADDRESS = "url";

    public CallSoap(){  }

    public String Call(String a)
    {
        SoapObject request = 
            new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);

        request.addProperty("data",a);

        SoapSerializationEnvelope envelope = 
            new SoapSerializationEnvelope(SoapEnvelope.VER11);

        envelope.dotNet = true;

        envelope.setOutputSoapObject(request);

        HttpTransportSE httpTransport = 
            new HttpTransportSE(SOAP_ADDRESS);

        Object response=null;
        try 
        {
            httpTransport.call(SOAP_ACTION, envelope);

            response = envelope.getResponse();
        }
        catch (Exception exception)
        {
            response=exception.toString();
        }

        return response.toString();
    }
}

但是,同样的Web服务可以从Web浏览器应用程序正常运行。

我搜索了每个论坛可能的答案终于在这里问了这个问题。 很抱歉因为我不熟悉所有这些。

谢谢

1 个答案:

答案 0 :(得分:0)

您的问题的原因与您的Android应用程序无关。它纯粹是在C#Web服务中。

这可能是一个仅在某些条件下触发的错误,在使用网络浏览器时不会发生。然而,问题出在服务器端。

如果您构建了Web服务,则启动一个包含有关该服务的足够信息的新问题。如果没有,那么您需要将其委托给Web服务的所有者。