0

soapobject からの応答で anytype{} を取得しています。Web サービスを使用してユーザー名とパスワードを渡そうとしていますが、同じユーザー名とパスワードを取得できません。体の助けをお願いします。

private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://***.***.*.*/MObile/Logics.asmx";
private static final String LOGIN_METHOD = "CheckLogin";
private static final String SOAP_ACTION_LOGIN = "http://tempuri.org/CheckLogin";


@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy);
    setContentView(R.layout.login_layout);

    Button signin = (Button) findViewById(R.id.btn_login);
    signin.setOnClickListener(this);

}   
        public void onClick(View v) {

            try {

            etxt_user = (EditText) findViewById(R.id.txt_username);
            etxt_password = (EditText)  findViewById(R.id.txt_password);

           String username = etxt_user.getText().toString();
           String password = etxt_password.getText().toString();

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

            SoapObject request = new SoapObject(NAMESPACE, LOGIN_METHOD);

            request.addProperty("username",username);
            request.addProperty("password",password);

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

            Log.i("LoginDetail", "Username " + username + "Password " + password);

            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
            androidHttpTransport.debug = true;

                 androidHttpTransport.call(SOAP_ACTION_LOGIN, envelope);

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

                 Log.i("OUTPUT", resultString.toString());
                 // getting output anytype{}

                if(){

                     }

                  else{

                      Toast.makeText(getApplicationContext(), "Wrong U & P", Toast.LENGTH_SHORT).show();

                  }*/

            }
            catch (Exception e) {

                e.printStackTrace();
                Toast.makeText(getApplicationContext(), " Network Exception : " + e
                                + "Please check network connectivity.", Toast.LENGTH_LONG).show();

            } 

        }

}

私はこの問題で立ち往生しています。ユーザー名パスワードが正しい場合は次のアクティビティに移動し、間違っている場合は toast.show() が必要です。

ユーザー名とパスワードが正しいことを確認するにはどうすればよいですか?

4

1 に答える 1

0

次の行を追加してみてください:

envelope.implicitTypes= false;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.dotNet = true; 
            envelope.setOutputSoapObject(request);
于 2013-02-06T11:07:36.517 に答える