1

我正在制作一个 android 应用程序,因为我使用 ksoap2 调用 .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 浏览器应用程序中正常运行。

我搜索了每个论坛可能的答案,最后在这里问了这个问题。很抱歉描述不够清楚,因为我对这一切都不熟悉。

谢谢

4

1 回答 1

0

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

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

如果您构建了 Web 服务,请使用有关该服务的足够信息开始一个新问题。如果没有,那么您需要将其委托给 Web 服务的所有者。

于 2013-01-06T19:50:48.453 回答