[英]HttpTransportSe.call() method taking up to a minute for web service call
我从我的Android应用程序调用Web服务。 我通过应用程序对此服务进行了许多不同的调用,并且每个调用都在不到一秒的时间内返回数据,除了一个。 即使实际的Web服务调用接近即时,我的一个呼叫也可能需要一分钟才能返回数据。 该行出现问题:
transport.call(SOAP_ACTION, soapEnvelope);
这被调用,并且几乎是瞬间从Web服务返回值。 但是到达下一行可能需要一分钟:
SoapObject result = (SoapObject) soapEnvelope.bodyIn;
Web服务返回数据和应用程序命中下一行(上图)之间发生了什么? 有没有办法减少这种延迟? 有什么简单的检查吗?
有没有办法减少这种延迟? 有什么简单的检查吗?
唯一的方法是衡量各个领域的时间差异。 对于SOAP Web服务调用,这些是要测量的时间。
客户端应用程序代码 - >请求处理程序 - >请求序列化 - >请求分派 - > HTTP传输 - >服务器端
接收HTTP请求 - >反序列化 - >应用程序代码 - >响应处理程序 - >序列化 - >调度 - > HTTP传输
阻塞通常在应用程序代码,处理程序和网络中。 测量这些,你可以找到时间花在哪里。
只有在调试应用程序时才会发现延迟。 在没有附加调试器的情况下运行应用程序时,它会立即返回。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.