我正在访问服务器上托管的https网络服务而没有证书验证 当我运行网络服务时,它显示我的错误 我在logcat
中搜索这样的东西WARN/InputManagerService(51): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43cf47d8
为什么它在Logcat中显示如下
我希望通过 SOAP 从我的手机访问此网络服务,而无需认证 我为访问此Web服务所做的工作是
URL="https://a.b.c.d/testservice/service.asmx"
SoapObject obj=new SoapObject(NAMESPACE,METHOD_NAME);
obj.addProperty("p1",p2);
obj.addProperty("p2",p2);
SoapSerializationEnvelope ss_env=new SoapSerializationEnvelope(SoapEnvelope.VER11);
ss_env.bodyOut=obj;
ss_env.dotNet=true;
ss_env.setOutputSoapObject(obj);
HttpsTransportSE ah_tpt=new HttpsTransportSE(URL, 443, "", 30000);
try{
ah_tpt.call(SOAP_ACTION, ss_env);
SoapPrimitive response=(SoapPrimitive)ss_env.getResponse();
我收到响应 SocketTimeoutException 但是当我通过浏览器访问这个Web服务时它正在工作,我怎样才能得到主要原因,是握手异常还是我不清楚这个,所以需要你的帮助
请帮助将是伟大的 谢谢,
答案 0 :(得分:0)
通过增加TimeOut尝试此代码,因为你得到Socket timeOut Exception这是因为更少的超时。它在我们在这里定义的时间间隔调用Web服务3秒,如果服务器通过响应在3秒然后它没关系,否则它将通过Socket TimeOut异常。这可能是原因。
URL="https://a.b.c.d/testservice/service.asmx"
SoapObject obj=new SoapObject(NAMESPACE,METHOD_NAME);
obj.addProperty("p1",p2);
obj.addProperty("p2",p2);
SoapSerializationEnvelope ss_env=new SoapSerializationEnvelope(SoapEnvelope.VER11);
ss_env.bodyOut=obj;
ss_env.dotNet=true;
ss_env.setOutputSoapObject(obj);
HttpsTransportSE ah_tpt=new HttpsTransportSE(URL, 443, "", 60000); // **Change this.**
try{
ah_tpt.call(SOAP_ACTION, ss_env);
SoapPrimitive response=(SoapPrimitive)ss_env.getResponse();
希望这有帮助。