0

无法使用 Android 连接到 Web 服务它无法访问 我尝试创建线程的 Web 服务代码,然后在那里运行我的代码我从我的手机测试 Web 服务链接,它可以访问

这是.net和android的代码:-

Webservice Code .net:强文本

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols

<WebService(Namespace:="http://tempuri.org/")> _
Public Class Service
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function HelloWorld() As Integer
        Return 0
    End Function

End Class

这是代码

 public class MainActivity extends Activity implements OnClickListener  {

    ImageButton btn1;
    ImageButton Save;
    private static final String SOAP_ACTION = "http://tempuri.org/HelloWorld";
    private static final String MethodName = "HelloWorld";
    private static final String NameSpace = "http://tempuri.org/"; 
    private static final String URL = "http://172.20.10.2/WebSite9/Service.asmx";  
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

         final Thread webser    = new Thread() {

            public void run() {

                try {
                  //  String project = titles.get(position - 1);

               //     CallWebService();
                 SoapObject request = new SoapObject(NameSpace, MethodName);         
                    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
                    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                   envelope.dotNet=true; 

                   // request.addProperty("TextToDisplay", "This is coming from android");
                 envelope.setOutputSoapObject(request); 

                  androidHttpTransport.call(SOAP_ACTION, envelope); 

                    SoapObject result = (SoapObject)envelope.getResponse(); 
                 //   Toast.makeText(MainActivity.this,result.toString(), Toast.LENGTH_LONG).show();

                } catch (Exception e) {

                  Log.e("tag", e.getMessage());

                }


            }

        };
        webser.start(); 

请帮忙!

4

2 回答 2

1

您的代码似乎没问题

请确保:-

1- 使用 ksoap2-android-2.5.2.jar
2- 转到 buildpath>add external jars 并选择它 3- 复制 ksoap2-android-2.5.2.jar 并将其粘贴到 libs 文件下

重新启动应用程序并尝试?

于 2012-12-17T05:52:08.023 回答
0

把这段代码:

SoapObject result = (SoapObject)envelope.bodyIn;

而不是这个

SoapObject result = (SoapObject)envelope.getResponse();

它将按预期与您一起工作。

于 2012-12-14T22:47:25.870 回答