我是这个Android应用程序的新手,所以我开发了一个示例.net Web服务应用程序,并将此服务推送到另一台机器IIS服务器并从那里调用到我的系统。但我没有得到回应一切看起来很好,所以我把我的代码放在skydrive所以请从下面链接下载我的代码“Android应用程序和.net service.rar”并检查并告诉我从那以后的2天我有什么不对劲:(
这是我的代码......
.net网络服务代码:
[WebService(Namespace =“http://tempuri.org/”)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //要允许使用ASP.NET AJAX从脚本调用此Web Service,请取消注释以下行。 [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string MobileApp(string type)
{
return "Type is"+type;
}
}
eclipse中的服务调用代码:
public void ServiceCall()
{
try{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("type",view1.getText().toString());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
//@SuppressWarnings("deprecation")
//ndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(URL);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug=true;
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
TextView txtView=(TextView)findViewById(R.id.txtSer);
txtView.setText(result.toString());
}
catch (final IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (final XmlPullParserException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (final Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
清单中添加的行:
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>
<uses-sdk android:minSdkVersion="7" />
@nag
答案 0 :(得分:0)
应该是这些,但我不知道你的网络服务如果不起作用,请给予更多。
request.addProperty(“type”,view1.getText()。toString());
答案 1 :(得分:0)
如果您的网络服务在一台PC上运行并且(我假设)您的Android应用程序在模拟器上的另一台PC上运行 - 我不确定模拟器如何连接到另一台本地PC - 这可能是您问题的一部分。尝试在与模拟器相同的PC上运行Web服务作为localhost,但使用端口10.0.2.2从应用程序代码连接到它。