2012-01-19 19 views
1

私は一般的にEclipseとAndroidプログラミングの新人ですが、私の会社のアプリケーションを作成してSQL Serverに接続して概念の証明としてのデータ。 Eclipse EplisonとJava/Android SDKがダウンロードされ、インストールされました。私は簡単に始めたいので、ボタンとビューを備えたアプリケーションを作成し、それはうまく構築されて動作します。私は.NETで単純なWebService(vs2010)を作成し、それを私のlocalhost上で実行させました。それに移動するとIEで検索され、それは計画どおりに動作します。ここ(のService1.asmxと呼ばれる)Webサービスのためのコードは次のとおりです。Eclipseで.NET Webサービス(.asmx)に接続できません

[WebMethod] 
    public string DisplayText(string TextToDisplay) 
    { 
     return TextToDisplay; 
    } 

は、今私はボタンが渡されたものは何でもテキストWebサービスとディスプレイを呼び出す作るしようとしているここで私はEclipseで使用していたコードがあります:。

package com.test.android; 

import org.ksoap2.*; 
import org.ksoap2.serialization.*; 
import org.ksoap2.transport.*; 

import android.app.*; 
import android.os.*; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.Toast; 

public class ServiceUI extends Activity { 
/** Called when the activity is first created. */ 

private static final String SOAP_ACTION = "http://localhost/MyWebService/DisplayText"; 
private static final String MethodName = "DisplayText"; 
private static final String NameSpace = "http://tempuri.org/"; // "http://localhost/testservice/"; 
private static final String URL = "http://localhost/MyWebServices/Service1.asmx?wsdl"; 
TextView tv; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tv=(TextView)findViewById(R.id.tvMessage); 

    Button btn = (Button)findViewById(R.id.btnPress); 
    btn.setOnClickListener(btnListener); 
} 

public void CallWebService() 
{ 
try { 
     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(); 
     tv.setText(""+result); 
    } 
    catch (Exception e) { 
     tv.setText(e.getMessage()); 
    }  
} 

private OnClickListener btnListener = new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     CallWebService(); 
    } 
}; 
} 

私は私のAVDでそれを実行すると、私は次のエラーを取得: はlocalhost/127.0.0.1:80 - 接続はなぜ

任意のアイデアを拒否?私はasmxとeclipseに関する多くの、多くのリンクを見てきましたが、私は "Connection Refused"エラーを参照したものを見つけることができませんでした。

ご協力いただきありがとうございます。

答えて

1

あなたのURIには、localhostの代わりに10.0.2.2というIPアドレスを使用してください。

チェックアウト: this url

ダウンハーフ方法についてスクロールし、「ネットワークアドレス空間」そんなに...今しばらくの間、この答えを探して

+0

感謝を探します。とても有難い! メモと同様です。私はまた、それを動作させるために、 "Windowsファイアウォールを介して通信するプログラムの追加"に "Eclipse"というプログラムを追加しなければなりませんでした。 – Robert

+0

なぜ特定のIPアドレスですか? –

+0

リンクに移動し、ドキュメントを読んでください。 –

関連する問題