2011-02-03 33 views

回答

2

Ksoap不能在代理之后工作。为了使这个工作.. 从sourceforge下载HttpTransportSE.java和ServiceConnectionSE.java。

使用HttpTransportSE和ServiceConnectionSE创建一个包。

在ServiceConnectionSE构造:

String myProxy=android.net.Proxy.getDefaultHost() ; 
      int myPort=android.net.Proxy.getDefaultPort(); 

      if(myProxy!=null){ 
       Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(myProxy, myPort)); 
       connection = (HttpURLConnection) new URL(url).openConnection(proxy); 
      } 
      else 
      { 
       connection = (HttpURLConnection) new URL(url).openConnection(); 
      } 

现在的地方,我们称之为HttpTransportSE.call()方法,确保它指向UR自己的包,其中有这样两个文件。

+0

你能解释如何做到这一点,因为我已经下载了文件并将这些文件复制到一个新的包中,但他们给错误。你也可以给这些文件的链接。 – Waseem 2012-02-28 18:19:50

0

据我所知,你必须在android操作系统设置本身设置代理,它会正常工作。

+0

不,我已经做到了..它不工作..谢谢你的答案 – Ads 2011-02-03 18:27:00

0

替换这个..

//Timeout in milliseconds 

int timeout=60000; 
AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(url, timeout); 
1

   大家好,KSOAP2.6.5的最新版本[测试并验证它]已修复了代理身份验证问题。 HTTPTransportSE构造函数现在接受java.net.Proxy实例作为参数以及URL。该方法会像
                        HttpTransportSE httpTransport=new HttpTransportSE(proxy,URL);
   如果配置了代理服务器,如果需要身份验证,然后使用 Authenticator类设置你的代理证书,并有成功。 HTH,如果不写我回