嘗試調用.NET Web服務方法時,出現Java Socket異常「操作超時」。我跟着網上的很多例子來讓我的android調用一個.net的web服務。調用.NET Web服務超時(使用KSOAP2的Android開發)
我在調試模式下使用VS2010運行Web服務。我打電話的網絡方法非常簡單 - >「字符串GetVersion()」
我讀過一些文章,網絡連接「從窗口菜單項。我一直無法弄清楚在代理中需要配置什麼才能讓事情順利進行,如果這是問題所在。
我也嘗試從我的android訪問.net Web服務根頁面(service.asmx)沒有成功。我可以在本地計算機上使用IE訪問asmx頁面,而不會出現任何問題。我關掉了防火牆,但也沒有解決任何問題。這是我第一次在調試模式下使用VS2010運行時嘗試從遠程計算機訪問Web服務。
我不知道我是否在eclipse端或VS2010端有配置問題。
我也運行Windows 7家庭高級版。
任何想法?
下面的代碼片段...
private static final String SOAP_ACTION = "http://192.168.1.151/MyWebService/GetVersion";
private static final String METHOD_NAME = "GetVersion";
private static final String NAMESPACE = "http://192.168.1.151/MyWebService";
private static final String URL = "http://192.168.1.151/MyService.asmx";
private void Connect()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
System.out.println("DEBUG >> HttpTransport.call()");
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
}
catch(IOException iexc)
{
System.out.println("EXCEPTION >> " + iexc.toString());
}
catch(XmlPullParserException xexc)
{
System.out.println("EXCEPTION >> " + xexc.toString());
}
try
{
Object result = (Object)envelope.getResponse();
tv.setText(result.toString());
}
catch (SoapFault sp)
{
System.out.println("EXCEPTION >> " + sp.toString());
}
}
謝謝爲信息。我將嘗試一下,讓我的android看到根asmx頁面。我意識到我沒有提到我的android應用程序通過eclipse在本地機器上作爲以調試模式運行的Web服務。 – Omar 2010-09-05 00:20:43
你使用的是http:// localhost url嗎? – 2010-09-29 02:38:35
這是不可能的,Android(作爲模擬器和設備)是它自己的主機,所以你將無法使用'localhost'連接到你的電腦。 – 2010-09-29 16:47:59