2011-01-13 9 views
0

私はアンドロイドアプリから.netウェブサービスを呼びます。 ここに私のコードです:アンドロイドから.netウェブサービスを呼び出すことはできません

パッケージcom.reza;

輸入android.app.Activity。 import android.os.Bundle; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import android.widget.TextView;

public class callWebservice extendsアクティビティ{ プライベート静的最終文字列METHOD_NAME = "HelloWorld";

private static final String NAMESPACE = "http://tempuri.org/"; 
private static final String URL = "http://service.screwedmind.com/LocalBusiness.asmx"; 
private static final String SOAP_ACTION = null; 
TextView tv; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    tv=(TextView)findViewById(R.id.text1); 
    call(); 
} 
public void call() 
{ 
     try { 

     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
     envelope.dotNet=true; 
     envelope.setOutputSoapObject(request); 

     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
     androidHttpTransport.call(SOAP_ACTION, envelope); 

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

     tv.setText(result); 
     } 
     catch (Exception e) { 
      tv.setText("error occured.."); 
     } 
} 

}

私はこのプログラムを実行すると、私は私のエラーテキストを参照「エラーが発生したが..」 は誰でもplzは私が間違っているのものを私に導くことができます。

+0

SOAP_ACTION = NAMESPACE + METHOD_NAMEを変更する必要があります設定する必要がありますか? – bigstones

答えて

0

「エラーが発生しました。」というエラーメッセージが表示されます。tv.setText(e.toString());と表示されていますか?

+0

その醜いメッセージ.----- SoapFault-faultcode: 'soap:Client' faultstring: 'System.web.services.protocols.soapexception:サーバーがHTTPヘッダーSOAPAction:HelloWorldの値を認識しませんでした。 System.web.services.protocols.soap11ServerProtocolHelper.RouteRequest()System.web.services.protocols.soapServerProtocol.RouteRequest(SoapServerMessageメッセージ)web.services.protocols.soapServerProtocol.Initialize()at web.services.protocols.soapServerProtocol .SetContext(型の型、HttpContextのコンテキスト、HttpRequestの要求、HttpResponseの応答)で----それは行く.. – kandroid

+0

重要なビットは 'サーバーはHTTPヘッダーSOAPAction'の値を認識しませんでした。 SOAPActionはnullです。 @bigstonesの提案を試してSOAP_ACTIONを設定してください。 – JLWarlow

+0

また、残りのメッセージは、エラーが発生した場所とその時点のスタックの状態を示すスタックトレースです。 – JLWarlow

0

あなたはおそらく唯一のSOAP_ACTION = NAMESPACE + METHOD_NAME

+0

ありがとう。今働いている。 SOAP_ACTION = "http://tempuri.org/HelloWorld"; – kandroid

0

あなたはなぜ `SOAP_ACTION = NULL`ある

+0

このソリューションは公開されています – dazedconfused

関連する問題