Android の DBConnection に対して asp.net Web サービス (visual studio 2008) を訴えています。
正常に実行されます。
私のアンドロイドコードは次のとおりです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final AlertDialog ad=new AlertDialog.Builder(this).create();
TextView tv=(TextView)findViewById(R.id.tvArray);
Button btnCall=(Button)findViewById(R.id.btnCall);
btnCall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CallSoap cs=new CallSoap();
try
{
String name=cs.Call();
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_LONG).show();
}
catch(Exception ex)
{
ad.setMessage(ex.getMessage());
}
}
});
}
そして callsoap メソッド:
import java.util.ArrayList;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.widget.Toast;
public class CallSoap
{
public final String SOAP_ACTION ="http://tempuri.org/GetData";
public final String OPERATION_NAME = "GetData";
public final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";
public final String SOAP_ADDRESS = "http://10.0.2.2:8080/Service1.asmx";
public CallSoap()
{
}
public String Call()
{
SoapObject req=new SoapObject(WSDL_TARGET_NAMESPACE, OPERATION_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
//envelope.headerOut = security; // this is an Element[] created before
envelope.encodingStyle = SoapEnvelope.ENC;
envelope.setAddAdornments(false);
envelope.implicitTypes = false;
envelope.setOutputSoapObject(req);
HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
Object response=null;
try
{
httpTransport.call(SOAP_ACTION, envelope);
response = envelope.getResponse();
//Toast.makeText(this, "this is my Toast message!!! =)", Toast.LENGTH_LONG).show();
}
catch (Exception exception)
{
response=exception.toString();
}
return response.toString();
}
}
アプリのボタンをクリックするとエラーが発生します:
Android org.xmlpull.v1.xmlpullparsereexception 期待される start_tag http://schemas.xmlsoap.org/soap/envelope/ エンベロープ位置開始タグ
これに関してスタック上で多くの質問を受けました。
一般的に、間違ったサービスメソッドが書かれているために発生することがわかりました。
しかし、私の場合、私はそれらすべてをチェックしました。すべてが正しいです。
あなたもチェックすることができます:私は実行中のサーブのスナップを持っています。
私を助けてください。