获取.NET Web服务响应的问题?

时间:2011-08-01 10:48:25

标签: .net android web-services

我是这个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

2 个答案:

答案 0 :(得分:0)

应该是这些,但我不知道你的网络服务如果不起作用,请给予更多。

request.addProperty(“type”,view1.getText()。toString());

答案 1 :(得分:0)

如果您的网络服务在一台PC上运行并且(我假设)您的Android应用程序在模拟器上的另一台PC上运行 - 我不确定模拟器如何连接到另一台本地PC - 这可能是您问题的一部分。尝试在与模拟器相同的PC上运行Web服务作为localhost,但使用端口10.0.2.2从应用程序代码连接到它。