我正在制作一个 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 浏览器应用程序中正常运行。
我搜索了每个论坛可能的答案,最后在这里问了这个问题。很抱歉描述不够清楚,因为我对这一切都不熟悉。
谢谢